diff --git a/404.html b/404.html index dd8cbca06..4776957be 100644 --- a/404.html +++ b/404.html @@ -31,10 +31,10 @@ } - +

404

Page not found

There’s nothing here.

- + diff --git a/assets/app-a0da9155.js b/assets/app-a0da9155.js deleted file mode 100644 index 62f560998..000000000 --- a/assets/app-a0da9155.js +++ /dev/null @@ -1,5 +0,0 @@ -import{d as b,r as k,a as be,b as Fn,c as E,i as F,e as Ce,f as Hn,g as jn,o as R,h as m,j as r,k as ke,l as sa,m as J,n as Le,p as bt,q as qn,u as me,s as et,t as ze,v as Wn,w as Te,x as I,y as Ve,z as ca,A as ua,B as Un,C as Gn,T as se,D as G,E as Kn,R as re,F as q,G as tt,H as K,I as da,J as va,K as Qn,L as Re,M as at,N as Yn,O as Jn,P as nt,Q as yt,S as Xn,U as Zn,V as eo,W as to,X as ao}from"./framework-8be3ab77.js";const no="modulepreload",oo=function(e){return"/"+e},wt={},p=function(t,a,n){if(!a||a.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(a.map(l=>{if(l=oo(l),l in wt)return;wt[l]=!0;const i=l.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(!!n)for(let u=o.length-1;u>=0;u--){const v=o[u];if(v.href===l&&(!i||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${s}`))return;const c=document.createElement("link");if(c.rel=i?"stylesheet":no,i||(c.as="script",c.crossOrigin=""),c.href=l,document.head.appendChild(c),i)return new Promise((u,v)=>{c.addEventListener("load",u),c.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t())},ro={"v-2d0a870d":()=>p(()=>import("./index.html-14e051e6.js"),[]).then(({data:e})=>e),"v-082946dd":()=>p(()=>import("./community.html-68bafb48.js"),[]).then(({data:e})=>e),"v-038e810e":()=>p(()=>import("./i18n.html-7bbd0925.js"),[]).then(({data:e})=>e),"v-586858ed":()=>p(()=>import("./project.html-62cdf008.js"),[]).then(({data:e})=>e),"v-0c01f6a4":()=>p(()=>import("./quick-start.html-3e8e5ad9.js"),[]).then(({data:e})=>e),"v-23b9870a":()=>p(()=>import("./side-load.html-e04e7234.js"),[]).then(({data:e})=>e),"v-7d29d7d8":()=>p(()=>import("./star-request.html-4cb88d32.js"),[]).then(({data:e})=>e),"v-2d0ad528":()=>p(()=>import("./index.html-8ce0ae99.js"),[]).then(({data:e})=>e),"v-5cad49b8":()=>p(()=>import("./community.html-91aa29f2.js"),[]).then(({data:e})=>e),"v-27c4e153":()=>p(()=>import("./i18n.html-1a20bdd4.js"),[]).then(({data:e})=>e),"v-6c355688":()=>p(()=>import("./project.html-2690409d.js"),[]).then(({data:e})=>e),"v-4f90aebf":()=>p(()=>import("./quick-start.html-0163de7e.js"),[]).then(({data:e})=>e),"v-783d89e5":()=>p(()=>import("./side-load.html-9cc44de3.js"),[]).then(({data:e})=>e),"v-a91bb9c6":()=>p(()=>import("./star-request.html-2ad37f25.js"),[]).then(({data:e})=>e),"v-1bd4ef83":()=>p(()=>import("./FAQ.html-d6fcc8da.js"),[]).then(({data:e})=>e),"v-5c3f740a":()=>p(()=>import("./Gacha-system-and-export-principal.html-cf17a2c3.js"),[]).then(({data:e})=>e),"v-5f449840":()=>p(()=>import("./index.html-63291408.js"),[]).then(({data:e})=>e),"v-1a028d16":()=>p(()=>import("./exceptions.html-076bd414.js"),[]).then(({data:e})=>e),"v-bd668802":()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-7c0dd482.js"),[]).then(({data:e})=>e),"v-51647c4a":()=>p(()=>import("./known-issue.html-7a510018.js"),[]).then(({data:e})=>e),"v-031e5d68":()=>p(()=>import("./mihoyo-risk-tip.html-b7eaf9b5.js"),[]).then(({data:e})=>e),"v-bbae7dd2":()=>p(()=>import("./uninstall.html-e98d2832.js"),[]).then(({data:e})=>e),"v-30f089b6":()=>p(()=>import("./index.html-3f2e3060.js"),[]).then(({data:e})=>e),"v-699a13b0":()=>p(()=>import("./achievements.html-78ddcaf7.js"),[]).then(({data:e})=>e),"v-f3692af4":()=>p(()=>import("./character-data.html-60d2a792.js"),[]).then(({data:e})=>e),"v-10108380":()=>p(()=>import("./character-wiki.html-4470b662.js"),[]).then(({data:e})=>e),"v-83f6294a":()=>p(()=>import("./develop-plan.html-227c3b3d.js"),[]).then(({data:e})=>e),"v-7839fe83":()=>p(()=>import("./game-launcher.html-b96d3a85.js"),[]).then(({data:e})=>e),"v-0106e0dc":()=>p(()=>import("./hutao-API.html-1c0e0b3b.js"),[]).then(({data:e})=>e),"v-639b3ef9":()=>p(()=>import("./hutao-settings.html-502c2e74.js"),[]).then(({data:e})=>e),"v-03aaffb1":()=>p(()=>import("./mhy-account-switch.html-0c28a728.js"),[]).then(({data:e})=>e),"v-124743a4":()=>p(()=>import("./real-time-notes.html-7edaa452.js"),[]).then(({data:e})=>e),"v-e30b3c46":()=>p(()=>import("./weapon-wiki.html-fe328aeb.js"),[]).then(({data:e})=>e),"v-b8e3a2b8":()=>p(()=>import("./wish-export.html-2a78da4e.js"),[]).then(({data:e})=>e),"v-a4f9d2c4":()=>p(()=>import("./index.html-3e434e4b.js"),[]).then(({data:e})=>e),"v-45ceb024":()=>p(()=>import("./bug-report.html-be008402.js"),[]).then(({data:e})=>e),"v-b4085a44":()=>p(()=>import("./privacy-notice.html-43cfb1bb.js"),[]).then(({data:e})=>e),"v-b1c7a1c2":()=>p(()=>import("./tos.html-2697c794.js"),[]).then(({data:e})=>e),"v-52f43e3b":()=>p(()=>import("./update-log.html-eb5fb9c5.js"),[]).then(({data:e})=>e),"v-4a1d3ac8":()=>p(()=>import("./FAQ.html-48211792.js"),[]).then(({data:e})=>e),"v-b0dd6b00":()=>p(()=>import("./Gacha-system-and-export-principal.html-35e3a9ed.js"),[]).then(({data:e})=>e),"v-16d7d7b6":()=>p(()=>import("./index.html-a5246ba5.js"),[]).then(({data:e})=>e),"v-c8e5b2e0":()=>p(()=>import("./exceptions.html-83d6729e.js"),[]).then(({data:e})=>e),"v-6892c29a":()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-a4274fa1.js"),[]).then(({data:e})=>e),"v-8ab89ae2":()=>p(()=>import("./known-issue.html-c63e6887.js"),[]).then(({data:e})=>e),"v-9cc22da6":()=>p(()=>import("./mihoyo-risk-tip.html-d5051ce5.js"),[]).then(({data:e})=>e),"v-a04a76c8":()=>p(()=>import("./uninstall.html-f3e75a7a.js"),[]).then(({data:e})=>e),"v-db2a9d92":()=>p(()=>import("./symposium1.html-c47ecab0.js"),[]).then(({data:e})=>e),"v-d7c0ec54":()=>p(()=>import("./symposium2.html-e492a642.js"),[]).then(({data:e})=>e),"v-0bbe1b6a":()=>p(()=>import("./index.html-b6121344.js"),[]).then(({data:e})=>e),"v-2841a60b":()=>p(()=>import("./achievements.html-50d91807.js"),[]).then(({data:e})=>e),"v-3957d221":()=>p(()=>import("./character-data.html-81f13ba6.js"),[]).then(({data:e})=>e),"v-a9f7b44a":()=>p(()=>import("./character-wiki.html-339c899e.js"),[]).then(({data:e})=>e),"v-7cac7db6":()=>p(()=>import("./develop-plan.html-11e50b04.js"),[]).then(({data:e})=>e),"v-e2f690f0":()=>p(()=>import("./game-launcher.html-b635d67c.js"),[]).then(({data:e})=>e),"v-0eb8e461":()=>p(()=>import("./hutao-API.html-dcecab36.js"),[]).then(({data:e})=>e),"v-16a7a694":()=>p(()=>import("./hutao-settings.html-262ba592.js"),[]).then(({data:e})=>e),"v-04b421cc":()=>p(()=>import("./mhy-account-switch.html-3c818870.js"),[]).then(({data:e})=>e),"v-b5462c1a":()=>p(()=>import("./real-time-notes.html-33dada16.js"),[]).then(({data:e})=>e),"v-108ccfbc":()=>p(()=>import("./weapon-wiki.html-660adaba.js"),[]).then(({data:e})=>e),"v-0ccd64e9":()=>p(()=>import("./wish-export.html-d867b90a.js"),[]).then(({data:e})=>e),"v-c4bb0cba":()=>p(()=>import("./index.html-41be6e42.js"),[]).then(({data:e})=>e),"v-c87f8b6e":()=>p(()=>import("./bug-report.html-f0d519b1.js"),[]).then(({data:e})=>e),"v-70e6808e":()=>p(()=>import("./privacy-notice.html-50988b5a.js"),[]).then(({data:e})=>e),"v-647ebd24":()=>p(()=>import("./tos.html-09235935.js"),[]).then(({data:e})=>e),"v-119bd096":()=>p(()=>import("./update-log.html-6c4f7058.js"),[]).then(({data:e})=>e),"v-3706649a":()=>p(()=>import("./404.html-392add74.js"),[]).then(({data:e})=>e),"v-42f24836":()=>p(()=>import("./index.html-ec66f958.js"),[]).then(({data:e})=>e),"v-8daa1a0e":()=>p(()=>import("./index.html-ead0711a.js"),[]).then(({data:e})=>e)},lo=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["script",{"src":"https://umami.irain.in/script.js","data-website-id":"f586534f-1741-450e-a0f4-3c0189f993c9","async":"","defer":""}],["script",{"type":"module","src":"https://get.microsoft.com/badge/ms-store-badge.bundled.js"}],["link",{"rel":"icon","href":"/favicon.ico"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-512.png","type":"image/png","sizes":"512x512"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-192.png","type":"image/png","sizes":"192x192"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-144.png","type":"image/png","sizes":"144x144"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-72.png","type":"image/png","sizes":"72x72"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-96.png","type":"image/png","sizes":"96x96"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-48.png","type":"image/png","sizes":"48x48"}],["link",{"rel":"manifest","href":"/manifest.webmanifest","crossorigin":"use-credentials"}],["meta",{"name":"theme-color","content":"#f26d6d"}],["link",{"rel":"apple-touch-icon","href":"/favicon.ico"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["meta",{"name":"msapplication-TileImage","content":"/favicon.ico"}],["meta",{"name":"msapplication-TileColor","content":"#ffffff"}],["meta",{"name":"viewport","content":"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"}]],"locales":{"/zh/":{"lang":"zh-CN","title":"胡桃工具箱","description":"多功能的原神工具箱"},"/en/":{"lang":"en-US","title":"Snap Hutao","description":"Super utilitarian Genshin Impact Tool"}}}'),pa={"v-2d0a870d":b(()=>p(()=>import("./index.html-5ec33057.js"),["assets/index.html-5ec33057.js","assets/framework-8be3ab77.js"])),"v-082946dd":b(()=>p(()=>import("./community.html-7d1656aa.js"),["assets/community.html-7d1656aa.js","assets/framework-8be3ab77.js"])),"v-038e810e":b(()=>p(()=>import("./i18n.html-02184ed6.js"),["assets/i18n.html-02184ed6.js","assets/framework-8be3ab77.js"])),"v-586858ed":b(()=>p(()=>import("./project.html-0650083e.js"),["assets/project.html-0650083e.js","assets/framework-8be3ab77.js"])),"v-0c01f6a4":b(()=>p(()=>import("./quick-start.html-3134237b.js"),["assets/quick-start.html-3134237b.js","assets/framework-8be3ab77.js"])),"v-23b9870a":b(()=>p(()=>import("./side-load.html-b81bb7fe.js"),["assets/side-load.html-b81bb7fe.js","assets/framework-8be3ab77.js"])),"v-7d29d7d8":b(()=>p(()=>import("./star-request.html-3ff0f768.js"),["assets/star-request.html-3ff0f768.js","assets/framework-8be3ab77.js"])),"v-2d0ad528":b(()=>p(()=>import("./index.html-7d14f03a.js"),["assets/index.html-7d14f03a.js","assets/framework-8be3ab77.js"])),"v-5cad49b8":b(()=>p(()=>import("./community.html-c9f2d093.js"),["assets/community.html-c9f2d093.js","assets/framework-8be3ab77.js"])),"v-27c4e153":b(()=>p(()=>import("./i18n.html-ab40d114.js"),["assets/i18n.html-ab40d114.js","assets/framework-8be3ab77.js"])),"v-6c355688":b(()=>p(()=>import("./project.html-11af8d5b.js"),["assets/project.html-11af8d5b.js","assets/framework-8be3ab77.js"])),"v-4f90aebf":b(()=>p(()=>import("./quick-start.html-792ecbba.js"),["assets/quick-start.html-792ecbba.js","assets/framework-8be3ab77.js"])),"v-783d89e5":b(()=>p(()=>import("./side-load.html-33557d9b.js"),["assets/side-load.html-33557d9b.js","assets/framework-8be3ab77.js"])),"v-a91bb9c6":b(()=>p(()=>import("./star-request.html-8a203856.js"),["assets/star-request.html-8a203856.js","assets/framework-8be3ab77.js"])),"v-1bd4ef83":b(()=>p(()=>import("./FAQ.html-afb27c53.js"),["assets/FAQ.html-afb27c53.js","assets/framework-8be3ab77.js"])),"v-5c3f740a":b(()=>p(()=>import("./Gacha-system-and-export-principal.html-c568d3b7.js"),["assets/Gacha-system-and-export-principal.html-c568d3b7.js","assets/framework-8be3ab77.js"])),"v-5f449840":b(()=>p(()=>import("./index.html-fac48cef.js"),["assets/index.html-fac48cef.js","assets/framework-8be3ab77.js"])),"v-1a028d16":b(()=>p(()=>import("./exceptions.html-4ccb3608.js"),["assets/exceptions.html-4ccb3608.js","assets/framework-8be3ab77.js"])),"v-bd668802":b(()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-2e6e77d4.js"),["assets/get-stoken-cookie-from-the-third-party.html-2e6e77d4.js","assets/framework-8be3ab77.js"])),"v-51647c4a":b(()=>p(()=>import("./known-issue.html-9f007706.js"),["assets/known-issue.html-9f007706.js","assets/framework-8be3ab77.js"])),"v-031e5d68":b(()=>p(()=>import("./mihoyo-risk-tip.html-8580c65c.js"),["assets/mihoyo-risk-tip.html-8580c65c.js","assets/framework-8be3ab77.js"])),"v-bbae7dd2":b(()=>p(()=>import("./uninstall.html-6206b061.js"),["assets/uninstall.html-6206b061.js","assets/framework-8be3ab77.js"])),"v-30f089b6":b(()=>p(()=>import("./index.html-14e304a7.js"),["assets/index.html-14e304a7.js","assets/framework-8be3ab77.js"])),"v-699a13b0":b(()=>p(()=>import("./achievements.html-b4f0b9f3.js"),["assets/achievements.html-b4f0b9f3.js","assets/framework-8be3ab77.js"])),"v-f3692af4":b(()=>p(()=>import("./character-data.html-7d5d9071.js"),["assets/character-data.html-7d5d9071.js","assets/framework-8be3ab77.js"])),"v-10108380":b(()=>p(()=>import("./character-wiki.html-f5c241cf.js"),["assets/character-wiki.html-f5c241cf.js","assets/framework-8be3ab77.js"])),"v-83f6294a":b(()=>p(()=>import("./develop-plan.html-9211d237.js"),["assets/develop-plan.html-9211d237.js","assets/framework-8be3ab77.js"])),"v-7839fe83":b(()=>p(()=>import("./game-launcher.html-a366b7c3.js"),["assets/game-launcher.html-a366b7c3.js","assets/framework-8be3ab77.js"])),"v-0106e0dc":b(()=>p(()=>import("./hutao-API.html-649782e1.js"),["assets/hutao-API.html-649782e1.js","assets/framework-8be3ab77.js"])),"v-639b3ef9":b(()=>p(()=>import("./hutao-settings.html-0516ff4b.js"),["assets/hutao-settings.html-0516ff4b.js","assets/framework-8be3ab77.js"])),"v-03aaffb1":b(()=>p(()=>import("./mhy-account-switch.html-fa72bc8b.js"),["assets/mhy-account-switch.html-fa72bc8b.js","assets/framework-8be3ab77.js"])),"v-124743a4":b(()=>p(()=>import("./real-time-notes.html-99f16c8c.js"),["assets/real-time-notes.html-99f16c8c.js","assets/framework-8be3ab77.js"])),"v-e30b3c46":b(()=>p(()=>import("./weapon-wiki.html-1b6ec5a4.js"),["assets/weapon-wiki.html-1b6ec5a4.js","assets/framework-8be3ab77.js"])),"v-b8e3a2b8":b(()=>p(()=>import("./wish-export.html-93eff3a4.js"),["assets/wish-export.html-93eff3a4.js","assets/framework-8be3ab77.js"])),"v-a4f9d2c4":b(()=>p(()=>import("./index.html-88564790.js"),["assets/index.html-88564790.js","assets/framework-8be3ab77.js"])),"v-45ceb024":b(()=>p(()=>import("./bug-report.html-49b70aa7.js"),["assets/bug-report.html-49b70aa7.js","assets/framework-8be3ab77.js"])),"v-b4085a44":b(()=>p(()=>import("./privacy-notice.html-721aa8a3.js"),["assets/privacy-notice.html-721aa8a3.js","assets/framework-8be3ab77.js"])),"v-b1c7a1c2":b(()=>p(()=>import("./tos.html-4ccd710b.js"),["assets/tos.html-4ccd710b.js","assets/framework-8be3ab77.js"])),"v-52f43e3b":b(()=>p(()=>import("./update-log.html-5b4cba07.js"),["assets/update-log.html-5b4cba07.js","assets/framework-8be3ab77.js"])),"v-4a1d3ac8":b(()=>p(()=>import("./FAQ.html-4c824484.js"),["assets/FAQ.html-4c824484.js","assets/framework-8be3ab77.js"])),"v-b0dd6b00":b(()=>p(()=>import("./Gacha-system-and-export-principal.html-409f751b.js"),["assets/Gacha-system-and-export-principal.html-409f751b.js","assets/framework-8be3ab77.js"])),"v-16d7d7b6":b(()=>p(()=>import("./index.html-2b1921cb.js"),["assets/index.html-2b1921cb.js","assets/framework-8be3ab77.js"])),"v-c8e5b2e0":b(()=>p(()=>import("./exceptions.html-70309d5f.js"),["assets/exceptions.html-70309d5f.js","assets/framework-8be3ab77.js"])),"v-6892c29a":b(()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-3cca977e.js"),["assets/get-stoken-cookie-from-the-third-party.html-3cca977e.js","assets/framework-8be3ab77.js"])),"v-8ab89ae2":b(()=>p(()=>import("./known-issue.html-81e0281f.js"),["assets/known-issue.html-81e0281f.js","assets/framework-8be3ab77.js"])),"v-9cc22da6":b(()=>p(()=>import("./mihoyo-risk-tip.html-3363d750.js"),["assets/mihoyo-risk-tip.html-3363d750.js","assets/framework-8be3ab77.js"])),"v-a04a76c8":b(()=>p(()=>import("./uninstall.html-87cb053a.js"),["assets/uninstall.html-87cb053a.js","assets/framework-8be3ab77.js"])),"v-db2a9d92":b(()=>p(()=>import("./symposium1.html-a722d433.js"),["assets/symposium1.html-a722d433.js","assets/framework-8be3ab77.js"])),"v-d7c0ec54":b(()=>p(()=>import("./symposium2.html-4225d3ec.js"),["assets/symposium2.html-4225d3ec.js","assets/framework-8be3ab77.js"])),"v-0bbe1b6a":b(()=>p(()=>import("./index.html-316c8240.js"),["assets/index.html-316c8240.js","assets/framework-8be3ab77.js"])),"v-2841a60b":b(()=>p(()=>import("./achievements.html-2b4454b3.js"),["assets/achievements.html-2b4454b3.js","assets/framework-8be3ab77.js"])),"v-3957d221":b(()=>p(()=>import("./character-data.html-a55ab1ca.js"),["assets/character-data.html-a55ab1ca.js","assets/framework-8be3ab77.js"])),"v-a9f7b44a":b(()=>p(()=>import("./character-wiki.html-0486e3d4.js"),["assets/character-wiki.html-0486e3d4.js","assets/framework-8be3ab77.js"])),"v-7cac7db6":b(()=>p(()=>import("./develop-plan.html-1bdb5891.js"),["assets/develop-plan.html-1bdb5891.js","assets/framework-8be3ab77.js"])),"v-e2f690f0":b(()=>p(()=>import("./game-launcher.html-b7313ab4.js"),["assets/game-launcher.html-b7313ab4.js","assets/framework-8be3ab77.js"])),"v-0eb8e461":b(()=>p(()=>import("./hutao-API.html-12fc0e97.js"),["assets/hutao-API.html-12fc0e97.js","assets/framework-8be3ab77.js"])),"v-16a7a694":b(()=>p(()=>import("./hutao-settings.html-9e8d000d.js"),["assets/hutao-settings.html-9e8d000d.js","assets/framework-8be3ab77.js"])),"v-04b421cc":b(()=>p(()=>import("./mhy-account-switch.html-8b9bc712.js"),["assets/mhy-account-switch.html-8b9bc712.js","assets/framework-8be3ab77.js"])),"v-b5462c1a":b(()=>p(()=>import("./real-time-notes.html-efc395e0.js"),["assets/real-time-notes.html-efc395e0.js","assets/framework-8be3ab77.js"])),"v-108ccfbc":b(()=>p(()=>import("./weapon-wiki.html-7adf8d60.js"),["assets/weapon-wiki.html-7adf8d60.js","assets/framework-8be3ab77.js"])),"v-0ccd64e9":b(()=>p(()=>import("./wish-export.html-fb21ac9f.js"),["assets/wish-export.html-fb21ac9f.js","assets/framework-8be3ab77.js"])),"v-c4bb0cba":b(()=>p(()=>import("./index.html-db394eaf.js"),["assets/index.html-db394eaf.js","assets/framework-8be3ab77.js"])),"v-c87f8b6e":b(()=>p(()=>import("./bug-report.html-da9c9af6.js"),["assets/bug-report.html-da9c9af6.js","assets/framework-8be3ab77.js"])),"v-70e6808e":b(()=>p(()=>import("./privacy-notice.html-2dde0de5.js"),["assets/privacy-notice.html-2dde0de5.js","assets/framework-8be3ab77.js"])),"v-647ebd24":b(()=>p(()=>import("./tos.html-d453e8d3.js"),["assets/tos.html-d453e8d3.js","assets/framework-8be3ab77.js"])),"v-119bd096":b(()=>p(()=>import("./update-log.html-91bcb145.js"),["assets/update-log.html-91bcb145.js","assets/framework-8be3ab77.js"])),"v-3706649a":b(()=>p(()=>import("./404.html-3152ea96.js"),["assets/404.html-3152ea96.js","assets/framework-8be3ab77.js"])),"v-42f24836":b(()=>p(()=>import("./index.html-d4b53319.js"),["assets/index.html-d4b53319.js","assets/framework-8be3ab77.js"])),"v-8daa1a0e":b(()=>p(()=>import("./index.html-8b0bd72f.js"),["assets/index.html-8b0bd72f.js","assets/framework-8be3ab77.js"]))};var io=Symbol(""),so=k(ro),ma=be({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),oe=k(ma),D=()=>oe,ha=Symbol(""),C=()=>{const e=J(ha);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},fa=Symbol(""),co=()=>{const e=J(fa);if(!e)throw new Error("usePageHead() is called without provider.");return e},uo=Symbol(""),ga=Symbol(""),Ne=()=>{const e=J(ga);if(!e)throw new Error("usePageLang() is called without provider.");return e},_a=Symbol(""),vo=()=>{const e=J(_a);if(!e)throw new Error("usePageLayout() is called without provider.");return e},ot=Symbol(""),ae=()=>{const e=J(ot);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},he=k(lo),ba=()=>he,ya=Symbol(""),Me=()=>{const e=J(ya);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},po=Symbol(""),mo="Layout",ho="NotFound",X=Fn({resolveLayouts:e=>e.reduce((t,a)=>({...t,...a.layouts}),{}),resolvePageData:async e=>{const t=so.value[e];return await(t==null?void 0:t())??ma},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,a)=>{const n=F(t.description)?t.description:a.description,o=[...Ce(t.head)?t.head:[],...a.head,["title",{},e],["meta",{name:"description",content:n}]];return Hn(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(a=>!!a).join(" | "),resolvePageLang:e=>e.lang||"en",resolvePageLayout:(e,t)=>{let a;if(e.path){const n=e.frontmatter.layout;F(n)?a=n:a=mo}else a=ho;return t[a]},resolveRouteLocale:(e,t)=>jn(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),Be=E({name:"ClientOnly",setup(e,t){const a=k(!1);return R(()=>{a.value=!0}),()=>{var n,o;return a.value?(o=(n=t.slots).default)==null?void 0:o.call(n):null}}}),wa=E({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=D(),a=m(()=>pa[e.pageKey||t.value.key]);return()=>a.value?r(a.value):r("div","404 Not Found")}}),H=(e={})=>e,te=e=>ke(e)?e:`/${sa(e)}`;const fo={},x=({name:e="",color:t="currentColor"},{slots:a})=>{var n;return r("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(n=a.default)==null?void 0:n.call(a))};x.displayName="IconBase";const Ea=({size:e=48,stroke:t=4,wrapper:a=!0,height:n=2*e})=>{const o=r("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[r("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),r("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[r("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),r("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return a?r("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${n}px`},o):o};Ea.displayName="LoadingIcon";const ka=(e,{slots:t})=>{var a;return((a=t.default)==null?void 0:a.call(t))||null},La=()=>r(x,{name:"github"},()=>r("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"}));La.displayName="GitHubIcon";const Ta=()=>r(x,{name:"gitlab"},()=>r("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"}));Ta.displayName="GitLabIcon";const Aa=()=>r(x,{name:"gitee"},()=>r("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"}));Aa.displayName="GiteeIcon";const Oa=()=>r(x,{name:"bitbucket"},()=>r("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"}));Oa.displayName="BitbucketIcon";const Ia=()=>r(x,{name:"source"},()=>r("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"}));Ia.displayName="SourceIcon";const Pa=Array.isArray,go=e=>typeof e=="function",_o=e=>typeof e=="string";var Sa=e=>/^(https?:)?\/\//.test(e),Da=e=>Object.prototype.toString.call(e)==="[object Object]";const Y=(e,t)=>{const a=t?t._instance:Le();return Da(a==null?void 0:a.appContext.components)&&(e in a.appContext.components||bt(e)in a.appContext.components||qn(bt(e))in a.appContext.components)};function bo(){const e=k(!1);return Le()&&R(()=>{e.value=!0}),e}function yo(e){return bo(),m(()=>!!e())}const wo=()=>yo(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),Eo=()=>{const e=wo();return m(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},ve=e=>{const t=ae();return m(()=>e[t.value])},ko=(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},$a=(e,t)=>{let a=1;for(let n=0;n>6;return a+=a<<3,a^=a>>11,a%t},ce=e=>typeof e=="string",Ee=(e,t)=>ce(e)&&e.startsWith(t),pe=(e,t)=>ce(e)&&e.endsWith(t),rt=Object.entries,ye=Object.keys,Et=e=>Da(e)&&ce(e.name),kt=(e,t=!1)=>e?Pa(e)?e.map(a=>ce(a)?{name:a}:Et(a)?a:null).filter(a=>a!==null):ce(e)?[{name:e}]:Et(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Ra=(e,t)=>{if(e){if(Pa(e)&&e.every(ce))return e;if(ce(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},Lo=e=>Ra(e,"category"),To=e=>Ra(e,"tag"),lt=e=>Ee(e,"/"),xa=/#.*$/u,Ao=e=>{const t=xa.exec(e);return t?t[0]:""},Lt=e=>decodeURI(e).replace(xa,"").replace(/(index)?\.(md|html)$/,""),it=(e,t)=>{if(t===void 0)return!1;const a=Lt(e.path),n=Lt(t),o=Ao(t);return o?o===e.hash&&(!n||a===n):a===n},Oo=e=>Sa(e)?e:`https://github.com/${e}`,Ca=e=>!Sa(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,st=(e,...t)=>{const a=e.resolve(...t),n=a.matched[a.matched.length-1];if(!(n!=null&&n.redirect))return a;const{redirect:o}=n,l=go(o)?o(a):o,i=_o(l)?{path:l}:l;return st(e,{hash:a.hash,query:a.query,params:a.params,...i})};function Q(e){return ca()?(ua(e),!0):!1}function B(e){return typeof e=="function"?e():me(e)}const ue=typeof window<"u",de=()=>{},Tt=Io();function Io(){var e;return ue&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function ct(e,t){function a(...n){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(l)})}return a}const za=e=>e();function Po(e,t={}){let a,n,o=de;const l=s=>{clearTimeout(s),o(),o=de};return s=>{const d=B(e),c=B(t.maxWait);return a&&l(a),d<=0||c!==void 0&&c<=0?(n&&(l(n),n=null),Promise.resolve(s())):new Promise((u,v)=>{o=t.rejectOnCancel?v:u,c&&!n&&(n=setTimeout(()=>{a&&l(a),n=null,u(s())},c)),a=setTimeout(()=>{n&&l(n),n=null,u(s())},d)})}}function So(e,t=!0,a=!0,n=!1){let o=0,l,i=!0,s=de,d;const c=()=>{l&&(clearTimeout(l),l=void 0,s(),s=de)};return v=>{const h=B(e),f=Date.now()-o,w=()=>d=v();return c(),h<=0?(o=Date.now(),w()):(f>h&&(a||!i)?(o=Date.now(),w()):t&&(d=new Promise((L,y)=>{s=n?y:L,l=setTimeout(()=>{o=Date.now(),i=!0,L(w()),c()},Math.max(0,h-f))})),!a&&!l&&(l=setTimeout(()=>i=!0,h)),i=!1,d)}}function Do(e=za){const t=k(!0);function a(){t.value=!1}function n(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:be(t),pause:a,resume:n,eventFilter:o}}function Va(...e){if(e.length!==1)return ze(...e);const t=e[0];return typeof t=="function"?be(Wn(()=>({get:t,set:de}))):k(t)}function Ss(e,t=200,a={}){return ct(Po(t,a),e)}function $o(e,t=200,a=!1,n=!0,o=!1){return ct(So(t,a,n,o),e)}function ut(e,t=!0){Le()?R(e):t?e():Te(e)}function Ro(e){Le()&&Ve(e)}function xo(e,t=1e3,a={}){const{immediate:n=!0,immediateCallback:o=!1}=a;let l=null;const i=k(!1);function s(){l&&(clearInterval(l),l=null)}function d(){i.value=!1,s()}function c(){const u=B(t);u<=0||(i.value=!0,o&&e(),s(),l=setInterval(e,u))}if(n&&ue&&c(),et(t)||typeof t=="function"){const u=I(t,()=>{i.value&&ue&&c()});Q(u)}return Q(d),{isActive:i,pause:d,resume:c}}function Co(e,t,a={}){const{immediate:n=!0}=a,o=k(!1);let l=null;function i(){l&&(clearTimeout(l),l=null)}function s(){o.value=!1,i()}function d(...c){i(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...c)},B(t))}return n&&(o.value=!0,ue&&d()),Q(s),{isPending:be(o),start:d,stop:s}}function At(e=!1,t={}){const{truthyValue:a=!0,falsyValue:n=!1}=t,o=et(e),l=k(e);function i(s){if(arguments.length)return l.value=s,l.value;{const d=B(a);return l.value=l.value===d?B(n):d,l.value}}return o?i:[l,i]}var Ot=Object.getOwnPropertySymbols,zo=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable,No=(e,t)=>{var a={};for(var n in e)zo.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&Ot)for(var n of Ot(e))t.indexOf(n)<0&&Vo.call(e,n)&&(a[n]=e[n]);return a};function Mo(e,t,a={}){const n=a,{eventFilter:o=za}=n,l=No(n,["eventFilter"]);return I(e,ct(o,t),l)}var Bo=Object.defineProperty,Fo=Object.defineProperties,Ho=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable,It=(e,t,a)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,jo=(e,t)=>{for(var a in t||(t={}))Na.call(t,a)&&It(e,a,t[a]);if(xe)for(var a of xe(t))Ma.call(t,a)&&It(e,a,t[a]);return e},qo=(e,t)=>Fo(e,Ho(t)),Wo=(e,t)=>{var a={};for(var n in e)Na.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&xe)for(var n of xe(e))t.indexOf(n)<0&&Ma.call(e,n)&&(a[n]=e[n]);return a};function Uo(e,t,a={}){const n=a,{eventFilter:o}=n,l=Wo(n,["eventFilter"]),{eventFilter:i,pause:s,resume:d,isActive:c}=Do(o);return{stop:Mo(e,t,qo(jo({},l),{eventFilter:i})),pause:s,resume:d,isActive:c}}function ee(e){var t;const a=B(e);return(t=a==null?void 0:a.$el)!=null?t:a}const W=ue?window:void 0,dt=ue?window.document:void 0,Go=ue?window.navigator:void 0;function N(...e){let t,a,n,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([a,n,o]=e,t=W):[t,a,n,o]=e,!t)return de;Array.isArray(a)||(a=[a]),Array.isArray(n)||(n=[n]);const l=[],i=()=>{l.forEach(u=>u()),l.length=0},s=(u,v,h,f)=>(u.addEventListener(v,h,f),()=>u.removeEventListener(v,h,f)),d=I(()=>[ee(t),B(o)],([u,v])=>{i(),u&&l.push(...a.flatMap(h=>n.map(f=>s(u,h,f,v))))},{immediate:!0,flush:"post"}),c=()=>{d(),i()};return Q(c),c}function Ko(){const e=k(!1);return Le()&&R(()=>{e.value=!0}),e}function Ae(e){const t=Ko();return m(()=>(t.value,Boolean(e())))}function Qo(e,t={}){const{immediate:a=!0,window:n=W}=t,o=k(!1);let l=0,i=null;function s(u){if(!o.value||!n)return;const v=u-l;e({delta:v,timestamp:u}),l=u,i=n.requestAnimationFrame(s)}function d(){!o.value&&n&&(o.value=!0,i=n.requestAnimationFrame(s))}function c(){o.value=!1,i!=null&&n&&(n.cancelAnimationFrame(i),i=null)}return a&&d(),Q(c),{isActive:be(o),pause:c,resume:d}}function Ba(e,t={}){const{window:a=W}=t,n=Ae(()=>a&&"matchMedia"in a&&typeof a.matchMedia=="function");let o;const l=k(!1),i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},s=()=>{n.value&&(i(),o=a.matchMedia(Va(e).value),l.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",s):o.addListener(s)))};return Gn(s),Q(()=>i()),l}function Yo(e={}){const{navigator:t=Go,read:a=!1,source:n,copiedDuring:o=1500,legacy:l=!1}=e,i=["copy","cut"],s=Ae(()=>t&&"clipboard"in t),d=m(()=>s.value||l),c=k(""),u=k(!1),v=Co(()=>u.value=!1,o);function h(){s.value?t.clipboard.readText().then(y=>{c.value=y}):c.value=L()}if(d.value&&a)for(const y of i)N(y,h);async function f(y=B(n)){d.value&&y!=null&&(s.value?await t.clipboard.writeText(y):w(y),c.value=y,u.value=!0,v.start())}function w(y){const g=document.createElement("textarea");g.value=y??"",g.style.position="absolute",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),g.remove()}function L(){var y,g,A;return(A=(g=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:g.toString())!=null?A:""}return{isSupported:d,text:c,copied:u,copy:f}}const Ie=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Pe="__vueuse_ssr_handlers__",Jo=Xo();function Xo(){return Pe in Ie||(Ie[Pe]=Ie[Pe]||{}),Ie[Pe]}function Zo(e,t){return Jo[e]||t}function er(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"}var tr=Object.defineProperty,Pt=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,St=(e,t,a)=>t in e?tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Dt=(e,t)=>{for(var a in t||(t={}))ar.call(t,a)&&St(e,a,t[a]);if(Pt)for(var a of Pt(t))nr.call(t,a)&&St(e,a,t[a]);return e};const or={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()}},$t="vueuse-storage";function vt(e,t,a,n={}){var o;const{flush:l="pre",deep:i=!0,listenToStorageChanges:s=!0,writeDefaults:d=!0,mergeDefaults:c=!1,shallow:u,window:v=W,eventFilter:h,onError:f=T=>{console.error(T)}}=n,w=(u?Un:k)(t);if(!a)try{a=Zo("getDefaultStorage",()=>{var T;return(T=W)==null?void 0:T.localStorage})()}catch(T){f(T)}if(!a)return w;const L=B(t),y=er(L),g=(o=n.serializer)!=null?o:or[y],{pause:A,resume:P}=Uo(w,()=>V(w.value),{flush:l,deep:i,eventFilter:h});return v&&s&&(N(v,"storage",_),N(v,$t,S)),_(),w;function V(T){try{if(T==null)a.removeItem(e);else{const z=g.write(T),ie=a.getItem(e);ie!==z&&(a.setItem(e,z),v&&v.dispatchEvent(new CustomEvent($t,{detail:{key:e,oldValue:ie,newValue:z,storageArea:a}})))}}catch(z){f(z)}}function M(T){const z=T?T.newValue:a.getItem(e);if(z==null)return d&&L!==null&&a.setItem(e,g.write(L)),L;if(!T&&c){const ie=g.read(z);return typeof c=="function"?c(ie,L):y==="object"&&!Array.isArray(ie)?Dt(Dt({},L),ie):ie}else return typeof z!="string"?z:g.read(z)}function S(T){_(T.detail)}function _(T){if(!(T&&T.storageArea!==a)){if(T&&T.key==null){w.value=L;return}if(!(T&&T.key!==e)){A();try{w.value=M(T)}catch(z){f(z)}finally{T?Te(P):P()}}}}}function rr(e){return Ba("(prefers-color-scheme: dark)",e)}var Rt=Object.getOwnPropertySymbols,lr=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,sr=(e,t)=>{var a={};for(var n in e)lr.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&Rt)for(var n of Rt(e))t.indexOf(n)<0&&ir.call(e,n)&&(a[n]=e[n]);return a};function cr(e,t,a={}){const n=a,{window:o=W}=n,l=sr(n,["window"]);let i;const s=Ae(()=>o&&"MutationObserver"in o),d=()=>{i&&(i.disconnect(),i=void 0)},c=I(()=>ee(e),v=>{d(),s.value&&o&&v&&(i=new MutationObserver(t),i.observe(v,l))},{immediate:!0}),u=()=>{d(),c()};return Q(u),{isSupported:s,stop:u}}var xt=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,vr=(e,t)=>{var a={};for(var n in e)ur.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&xt)for(var n of xt(e))t.indexOf(n)<0&&dr.call(e,n)&&(a[n]=e[n]);return a};function pr(e,t,a={}){const n=a,{window:o=W}=n,l=vr(n,["window"]);let i;const s=Ae(()=>o&&"ResizeObserver"in o),d=()=>{i&&(i.disconnect(),i=void 0)},c=m(()=>Array.isArray(e)?e.map(h=>ee(h)):[ee(e)]),u=I(c,h=>{if(d(),s.value&&o){i=new ResizeObserver(t);for(const f of h)f&&i.observe(f,l)}},{immediate:!0,flush:"post",deep:!0}),v=()=>{d(),u()};return Q(v),{isSupported:s,stop:v}}function mr(e,t={width:0,height:0},a={}){const{window:n=W,box:o="content-box"}=a,l=m(()=>{var d,c;return(c=(d=ee(e))==null?void 0:d.namespaceURI)==null?void 0:c.includes("svg")}),i=k(t.width),s=k(t.height);return pr(e,([d])=>{const c=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(n&&l.value){const u=ee(e);if(u){const v=n.getComputedStyle(u);i.value=parseFloat(v.width),s.value=parseFloat(v.height)}}else if(c){const u=Array.isArray(c)?c:[c];i.value=u.reduce((v,{inlineSize:h})=>v+h,0),s.value=u.reduce((v,{blockSize:h})=>v+h,0)}else i.value=d.contentRect.width,s.value=d.contentRect.height},a),I(()=>ee(e),d=>{i.value=d?t.width:0,s.value=d?t.height:0}),{width:i,height:s}}const Ct=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function pt(e,t={}){const{document:a=dt,autoExit:n=!1}=t,o=m(()=>{var g;return(g=ee(e))!=null?g:a==null?void 0:a.querySelector("html")}),l=k(!1),i=m(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>a&&g in a||o.value&&g in o.value)),s=m(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>a&&g in a||o.value&&g in o.value)),d=m(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>a&&g in a||o.value&&g in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>a&&g in a),u=Ae(()=>o.value&&a&&i.value!==void 0&&s.value!==void 0&&d.value!==void 0),v=()=>c?(a==null?void 0:a[c])===o.value:!1,h=()=>{if(d.value){if(a&&a[d.value]!=null)return a[d.value];{const g=o.value;if((g==null?void 0:g[d.value])!=null)return Boolean(g[d.value])}}return!1};async function f(){if(u.value){if(s.value)if((a==null?void 0:a[s.value])!=null)await a[s.value]();else{const g=o.value;(g==null?void 0:g[s.value])!=null&&await g[s.value]()}l.value=!1}}async function w(){if(!u.value)return;h()&&await f();const g=o.value;i.value&&(g==null?void 0:g[i.value])!=null&&(await g[i.value](),l.value=!0)}async function L(){await(l.value?f():w())}const y=()=>{const g=h();(!g||g&&v())&&(l.value=g)};return N(a,Ct,y,!1),N(()=>ee(o),Ct,y,!1),n&&Q(f),{isSupported:u,isFullscreen:l,enter:w,exit:f,toggle:L}}var hr=Object.defineProperty,zt=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,Vt=(e,t,a)=>t in e?hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_r=(e,t)=>{for(var a in t||(t={}))fr.call(t,a)&&Vt(e,a,t[a]);if(zt)for(var a of zt(t))gr.call(t,a)&&Vt(e,a,t[a]);return e};function Ds(e={}){const{controls:t=!1,interval:a="requestAnimationFrame"}=e,n=k(new Date),o=()=>n.value=new Date,l=a==="requestAnimationFrame"?Qo(o,{immediate:!0}):xo(o,a,{immediate:!0});return t?_r({now:n},l):n}function br(e={}){const{window:t=W}=e;if(!t)return k(["en"]);const a=t.navigator,n=k(a.languages);return N(t,"languagechange",()=>{n.value=a.languages}),n}function $s(e,t=de,a={}){const{immediate:n=!0,manual:o=!1,type:l="text/javascript",async:i=!0,crossOrigin:s,referrerPolicy:d,noModule:c,defer:u,document:v=dt,attrs:h={}}=a,f=k(null);let w=null;const L=A=>new Promise((P,V)=>{const M=T=>(f.value=T,P(T),T);if(!v){P(!1);return}let S=!1,_=v.querySelector(`script[src="${B(e)}"]`);_?_.hasAttribute("data-loaded")&&M(_):(_=v.createElement("script"),_.type=l,_.async=i,_.src=B(e),u&&(_.defer=u),s&&(_.crossOrigin=s),c&&(_.noModule=c),d&&(_.referrerPolicy=d),Object.entries(h).forEach(([T,z])=>_==null?void 0:_.setAttribute(T,z)),S=!0),_.addEventListener("error",T=>V(T)),_.addEventListener("abort",T=>V(T)),_.addEventListener("load",()=>{_.setAttribute("data-loaded","true"),t(_),M(_)}),S&&(_=v.head.appendChild(_)),A||M(_)}),y=(A=!0)=>(w||(w=L(A)),w),g=()=>{if(!v)return;w=null,f.value&&(f.value=null);const A=v.querySelector(`script[src="${B(e)}"]`);A&&v.head.removeChild(A)};return n&&!o&&ut(y),o||Ro(g),{scriptTag:f,load:y,unload:g}}function Fa(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientHeight1?!0:(t.preventDefault&&t.preventDefault(),!1)}function mt(e,t=!1){const a=k(t);let n=null,o;I(Va(e),s=>{if(s){const d=s;o=d.style.overflow,a.value&&(d.style.overflow="hidden")}},{immediate:!0});const l=()=>{const s=B(e);!s||a.value||(Tt&&(n=N(s,"touchmove",d=>{yr(d)},{passive:!1})),s.style.overflow="hidden",a.value=!0)},i=()=>{const s=B(e);!s||!a.value||(Tt&&(n==null||n()),s.style.overflow=o,a.value=!1)};return Q(i),m({get(){return a.value},set(s){s?l():i()}})}function wr(e,t,a={}){const{window:n=W}=a;return vt(e,t,n==null?void 0:n.sessionStorage,a)}let Er=0;function kr(e,t={}){const a=k(!1),{document:n=dt,immediate:o=!0,manual:l=!1,id:i=`vueuse_styletag_${++Er}`}=t,s=k(e);let d=()=>{};const c=()=>{if(!n)return;const v=n.getElementById(i)||n.createElement("style");v.isConnected||(v.type="text/css",v.id=i,t.media&&(v.media=t.media),n.head.appendChild(v)),!a.value&&(d=I(s,h=>{v.textContent=h},{immediate:!0}),a.value=!0)},u=()=>{!n||!a.value||(d(),n.head.removeChild(n.getElementById(i)),a.value=!1)};return o&&!l&&ut(c),l||Q(u),{id:i,css:s,unload:u,load:c,isLoaded:be(a)}}function Lr({window:e=W}={}){if(!e)return{x:k(0),y:k(0)};const t=k(e.scrollX),a=k(e.scrollY);return N(e,"scroll",()=>{t.value=e.scrollX,a.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:a}}function Tr(e={}){const{window:t=W,initialWidth:a=1/0,initialHeight:n=1/0,listenOrientation:o=!0,includeScrollbar:l=!0}=e,i=k(a),s=k(n),d=()=>{t&&(l?(i.value=t.innerWidth,s.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,s.value=t.document.documentElement.clientHeight))};if(d(),ut(d),N("resize",d,{passive:!0}),o){const c=Ba("(orientation: portrait)");I(c,()=>d())}return{width:i,height:s}}var Ar=E({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=m(()=>{const n=["font-icon icon"],o=`iconfont icon-${e.icon}`;return n.push(o),n}),a=m(()=>{const n={};return e.color&&(n.color=e.color),e.size&&(n["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),ye(n).length?n:null});return()=>e.icon?r("span",{key:e.icon,class:t.value,style:a.value}):null}});const Ha=({type:e="info",text:t="",vertical:a="top",color:n},{slots:o})=>{var l;return r("span",{class:["badge",e,{diy:n}],style:{verticalAlign:a,...n?{backgroundColor:n}:{}}},t||((l=o.default)==null?void 0:l.call(o)))};Ha.displayName="Badge";const Or="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",Nt=e=>F(e)?e:`${e}px`,Ir=(e,t=0)=>{const a=k(),n=m(()=>Nt(me(e.width)||"100%")),o=k("auto"),l=d=>{if(F(d)){const[c,u]=d.split(":"),v=Number(c)/Number(u);if(!Number.isNaN(v))return v}return typeof d=="number"?d:16/9},i=d=>{const c=me(e.height),u=l(me(e.ratio));return c?Nt(c):`${Number(d)/u+me(t)}px`},s=()=>{a.value&&(o.value=i(a.value.clientWidth))};return R(()=>{s(),et(t)&&I(t,()=>s()),N("orientationchange",()=>s()),N("resize",()=>s())}),{el:a,width:n,height:o}},Mt="https://player.bilibili.com/player.html";var Pr=E({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:a,height:n}=Ir(e),o=m(()=>{const{aid:l,bvid:i,cid:s,autoplay:d,time:c,page:u}=e;return l&&s?`${Mt}?aid=${l}&cid=${s}&t=${c}&autoplay=${d?1:0}&page=${u}`:i?`${Mt}?bvid=${i}&t=${c}&autoplay=${d?1:0}`:null});return()=>o.value?[r("div",{class:"bili-desc"},r("a",{class:"sr-only",href:o.value},e.title)),r("iframe",{ref:t,src:o.value,title:e.title,class:"bili-iframe",allow:Or,style:{width:a.value,height:n.value}})]:null}});const ja=()=>r(x,{name:"back-to-top"},()=>[r("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"}),r("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"})]);ja.displayName="BackToTopIcon";var Sr=E({name:"BackToTop",props:{threshold:{type:Number,default:100},noProgress:Boolean},setup(e){const t=C(),a=ve({"/zh/":{backToTop:"返回顶部"},"/en/":{backToTop:"Back to top"},"/":{backToTop:"Back to top"}}),n=k(),{height:o}=mr(n),{height:l}=Tr(),{y:i}=Lr(),s=m(()=>t.value.backToTop!==!1&&i.value>e.threshold),d=m(()=>i.value/(o.value-l.value));return R(()=>{n.value=document.body}),()=>r(se,{name:"fade"},()=>s.value?r("button",{type:"button",class:"back-to-top","aria-label":a.value.backToTop,"data-balloon-pos":"left",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[e.noProgress?null:r("svg",{class:"scroll-progress"},r("circle",{cx:"50%",cy:"50%",r:"calc(50% - 2px)",style:{"stroke-dasharray":`${Math.PI*d.value*100}% ${Math.PI*100}%`}})),r(ja)]):null)}});const Dr=H({enhance:({app:e})=>{Y("FontIcon")||e.component("FontIcon",Ar),Y("Badge")||e.component("Badge",Ha),Y("BiliBili")||e.component("BiliBili",Pr)},setup:()=>{kr(` @import url("https://at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); - `)},rootComponents:[()=>r(Sr,{})]});function qa(e,t,a){var n,o,l;t===void 0&&(t=50),a===void 0&&(a={});var i=(n=a.isImmediate)!=null&&n,s=(o=a.callback)!=null&&o,d=a.maxWait,c=Date.now(),u=[];function v(){if(d!==void 0){var f=Date.now()-c;if(f+t>=d)return d-f}return t}var h=function(){var f=[].slice.call(arguments),w=this;return new Promise(function(L,y){var g=i&&l===void 0;if(l!==void 0&&clearTimeout(l),l=setTimeout(function(){if(l=void 0,c=Date.now(),!i){var P=e.apply(w,f);s&&s(P),u.forEach(function(V){return(0,V.resolve)(P)}),u=[]}},v()),g){var A=e.apply(w,f);return s&&s(A),L(A)}u.push({resolve:L,reject:y})})};return h.cancel=function(f){l!==void 0&&clearTimeout(l),u.forEach(function(w){return(0,w.reject)(f)}),u=[]},h}const $r=({headerLinkSelector:e,headerAnchorSelector:t,delay:a,offset:n=5})=>{const o=G(),i=qa(()=>{var L,y;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)h.some(A=>A.hash===g.hash));for(let g=0;g=(((L=A.parentElement)==null?void 0:L.offsetTop)??0)-n,M=!P||s<(((y=P.parentElement)==null?void 0:y.offsetTop)??0)-n;if(!(V&&M))continue;const _=decodeURIComponent(o.currentRoute.value.hash),T=decodeURIComponent(A.hash);if(_===T)return;if(v){for(let z=g+1;z{window.addEventListener("scroll",i)}),Kn(()=>{window.removeEventListener("scroll",i)})},Bt=async(e,t)=>{const{scrollBehavior:a}=e.options;e.options.scrollBehavior=void 0,await e.replace({query:e.currentRoute.value.query,hash:t,force:!0}).finally(()=>e.options.scrollBehavior=a)},Rr=".sidebar-link, .toc-link",xr=".header-anchor",Cr=200,zr=5,Vr=H({setup(){$r({headerLinkSelector:Rr,headerAnchorSelector:xr,delay:Cr,offset:zr})}});var Nr=E({name:"AutoCatalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean},setup(e,{slots:t}){const a=ve({"/zh/":{title:"目录"},"/en/":{title:"Catalog"},"/":{title:"Catalog"}}),n=D(),o=G(),l=ba(),i=c=>{const u=c.I;return typeof u>"u"||u},s=()=>{const c=e.base||n.value.path.replace(/\/[^/]+$/,"/"),u=o.getRoutes(),v=[];return u.filter(({meta:h,path:f})=>{if(!Ee(f,c)||f===c)return!1;if(c==="/"){const w=ye(l.value.locales).filter(L=>L!=="/");if(f==="/404.html"||w.some(L=>Ee(f,L)))return!1}return(pe(f,".html")&&!pe(f,"/index.html")||pe(f,"/"))&&i(h)}).map(({path:h,meta:f})=>{const w=h.substring(c.length).split("/").length;return{title:f.t||"",icon:f.i,base:h.replace(/\/[^/]+\/?$/,"/"),order:f.O||null,level:pe(h,"/")?w-1:w,path:h}}).filter(({title:h,level:f})=>typeof h=="string"&&h&&f<=e.level).sort(({title:h,level:f,path:w,order:L},{title:y,level:g,path:A,order:P})=>f-g||(pe(w,"/index.html")?-1:pe(A,"/index.html")?1:L===null?P===null?h.localeCompare(y):P:P===null?L:L>0?P>0?L-P:-1:P<0?L-P:1)).forEach(h=>{var f;const{base:w,level:L}=h;switch(L){case 1:v.push(h);break;case 2:{const y=v.find(g=>g.path===w);y&&(y.children??(y.children=[])).push(h);break}default:{const y=v.find(g=>g.path===w.replace(/\/[^/]+\/$/,"/"));if(y){const g=(f=y.children)==null?void 0:f.find(A=>A.path===w);g&&(g.children??(g.children=[])).push(h)}}}}),v},d=m(()=>s());return()=>r("div",{class:"auto-catalog-wrapper"},[r("h2",{class:"main-title"},a.value.title),d.value.map(({children:c=[],icon:u,path:v,title:h},f)=>[r("h3",{id:h,class:["child-title",{"has-children":c.length}]},[r("a",{href:`#${h}`,class:"header-anchor"},"#"),r(re,{class:"catalog-title",to:v},()=>[e.index?`${f+1}.`:null,u&&t.icon?t.icon({icon:u}):null,h||"Unknown"])]),c.length?r("ul",{class:"child-catalog-wrapper"},c.map(({children:w=[],icon:L,path:y,title:g},A)=>r("li",{class:"child-catalog-item"},[r("div",{class:["sub-title",{"has-children":w.length}]},[r("a",{href:`#${g}`,class:"header-anchor"},"#"),r(re,{class:"catalog-title",to:y},()=>[e.index?`${f+1}.${A+1}`:null,L&&t.icon?t.icon({icon:L}):null,g||"Unknown"])]),w.length?r("div",{class:"sub-catalog-wrapper"},w.map(({icon:P,path:V,title:M},S)=>r(re,{class:"sub-catalog-item",to:V},()=>[e.index?`${f+1}.${A+1}.${S+1}`:null,P&&t.icon?t.icon({icon:P}):null,M||"Unknown"]))):null]))):null])])}}),Mr=H({enhance:({app:e})=>{Y("AutoCatalog",e)||e.component("AutoCatalog",t=>r(Nr,t,{icon:({icon:a})=>r(q("HopeIcon"),{icon:a})}))}});const Br=r("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"},[r("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"}),r("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"})]),Wa=E({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=ae(),a=m(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>r("span",[Br,r("span",{class:"external-link-icon-sr-only"},a.value.openInNewWindow)])}}),Fr={},Hr=H({enhance({app:e}){e.component("ExternalLinkIcon",r(Wa,{locales:Fr}))}});/** - * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT - */const O={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=O.isStarted();e=je(e,O.settings.minimum,1),O.status=e===1?null:e;const a=O.render(!t),n=a.querySelector(O.settings.barSelector),o=O.settings.speed,l=O.settings.easing;return a.offsetWidth,jr(i=>{Se(n,{transform:"translate3d("+Ft(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(Se(a,{transition:"none",opacity:"1"}),a.offsetWidth,setTimeout(function(){Se(a,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){O.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),O},isStarted:()=>typeof O.status=="number",start:()=>{O.status||O.set(0);const e=()=>{setTimeout(()=>{O.status&&(O.trickle(),e())},O.settings.trickleSpeed)};return O.settings.trickle&&e(),O},done:e=>!e&&!O.status?O:O.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=O.status;return t?(typeof e!="number"&&(e=(1-t)*je(Math.random()*t,.1,.95)),t=je(t+e,0,.994),O.set(t)):O.start()},trickle:()=>O.inc(Math.random()*O.settings.trickleRate),render:e=>{if(O.isRendered())return document.getElementById("nprogress");Ht(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=O.settings.template;const a=t.querySelector(O.settings.barSelector),n=e?"-100":Ft(O.status||0),o=document.querySelector(O.settings.parent);return Se(a,{transition:"all 0 linear",transform:"translate3d("+n+"%,0,0)"}),o!==document.body&&Ht(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{jt(document.documentElement,"nprogress-busy"),jt(document.querySelector(O.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&qr(e)},isRendered:()=>!!document.getElementById("nprogress")},je=(e,t,a)=>ea?a:e,Ft=e=>(-1+e)*100,jr=function(){const e=[];function t(){const a=e.shift();a&&a(t)}return function(a){e.push(a),e.length===1&&t()}}(),Se=function(){const e=["Webkit","O","Moz","ms"],t={};function a(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(s,d){return d.toUpperCase()})}function n(i){const s=document.body.style;if(i in s)return i;let d=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let u;for(;d--;)if(u=e[d]+c,u in s)return u;return i}function o(i){return i=a(i),t[i]||(t[i]=n(i))}function l(i,s,d){s=o(s),i.style[s]=d}return function(i,s){for(const d in s){const c=s[d];c!==void 0&&Object.prototype.hasOwnProperty.call(s,d)&&l(i,d,c)}}}(),Ua=(e,t)=>(typeof e=="string"?e:ht(e)).indexOf(" "+t+" ")>=0,Ht=(e,t)=>{const a=ht(e),n=a+t;Ua(a,t)||(e.className=n.substring(1))},jt=(e,t)=>{const a=ht(e);if(!Ua(e,t))return;const n=a.replace(" "+t+" "," ");e.className=n.substring(1,n.length-1)},ht=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),qr=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const Wr=()=>{R(()=>{const e=G(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(a=>{t.has(a.path)||O.start()}),e.afterEach(a=>{t.add(a.path),O.done()})})},Ur=H({setup(){Wr()}}),Gr=JSON.parse(`{"encrypt":{},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i4/1797064093/O1CN01vK3m2w1g6duwt8quS_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","locales":{"/zh/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页","print":"打印"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"encryptLocales":{"iconLabel":"文章已加密","placeholder":"输入密码","remember":"记住密码","errorHint":"请输入正确的密码"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/zh/",{"text":"文档","icon":"article","link":"/zh/features/"},{"text":"下载","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"加入社区讨论","icon":"community","link":"/zh/community"}],"sidebar":{"/zh/":["",{"icon":"workingDirectory","text":"项目介绍","link":"project"},{"icon":"network","text":"国际化支持","link":"i18n"},{"icon":"play","text":"快速开始","link":"quick-start"},{"icon":"read","text":"功能指南","prefix":"features/","children":"structure"},{"icon":"advance","text":"高级","prefix":"advanced/","children":"structure"},{"icon":"article","text":"声明和公告","prefix":"statements/","children":"structure"}]},"footer":"用开源社区力量为原神 PC 端玩家带来最好的游戏体验","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 on GitHub","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"navbar":["/en/",{"text":"Document","icon":"article","link":"/en/features/"},{"text":"Download","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"Community","icon":"community","link":"/en/community"}],"sidebar":{"/en/":["",{"icon":"workingDirectory","text":"Project","link":"project"},{"icon":"network","text":"Localization","link":"i18n"},{"icon":"play","text":"Quick Start","link":"quick-start"},{"icon":"read","text":"Features","prefix":"features/","children":"structure"},{"icon":"advance","text":"Advanced","prefix":"advanced/","children":"structure"},{"icon":"article","text":"Statements","prefix":"statements/","children":"structure"}]},"footer":"Be the best Genshin Impact tool","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"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"}}}}`),Kr=k(Gr),Ga=()=>Kr,Ka=Symbol(""),Qr=()=>{const e=J(Ka);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Yr=(e,t)=>{var a;return{...e,...(a=e.locales)==null?void 0:a[t]}},Jr=H({enhance({app:e}){const t=Ga(),a=e._context.provides[ot],n=m(()=>Yr(t.value,a.value));e.provide(Ka,n),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return n.value}}})}}),Xr={"Content-Type":"application/json"},Zr=({serverURL:e,lang:t,paths:a,signal:n})=>(({serverURL:o,lang:l,paths:i,type:s,signal:d})=>fetch(`${o}/article?path=${encodeURIComponent(i.join(","))}&type=${encodeURIComponent(s.join(","))}&lang=${l}`,{signal:d}).then(c=>c.json()))({serverURL:e,lang:t,paths:a,type:["time"],signal:n}).then(o=>Array.isArray(o)?o:[o]),el=e=>(({serverURL:t,lang:a,path:n,type:o,action:l})=>fetch(`${t}/article?lang=${a}`,{method:"POST",headers:Xr,body:JSON.stringify({path:n,type:o,action:l})}).then(i=>i.json()))({...e,type:"time",action:"inc"}),qt=e=>{const t=((a="")=>a.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},tl=e=>{e.name!=="AbortError"&&console.error(e.message)},Wt=e=>e.dataset.path||e.getAttribute("id"),Ut=(e,t)=>{t.forEach((a,n)=>{a.innerText=e[n].toString()})},al=({serverURL:e,path:t=window.location.pathname,selector:a=".waline-pageview-count",update:n=!0,lang:o=navigator.language})=>{const l=new AbortController,i=Array.from(document.querySelectorAll(a)),s=c=>{const u=Wt(c);return u!==null&&t!==u},d=c=>Zr({serverURL:qt(e),paths:c.map(u=>Wt(u)||t),lang:o,signal:l.signal}).then(u=>Ut(u,c)).catch(tl);if(n){const c=i.filter(v=>!s(v)),u=i.filter(s);el({serverURL:qt(e),path:t,lang:o}).then(v=>Ut(new Array(c.length).fill(v),c)),u.length&&d(u)}else d(i);return l.abort.bind(l)};const we={provider:"Waline",dark:'html[data-theme="dark"]',serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],reaction:!1},nl={"/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)"}};p(()=>import("./waline-meta-a31b78ed.js"),[]);var ol=E({name:"WalineComment",setup(){const e=D(),t=C(),a=Ne(),n=ve(nl);let o;const l=m(()=>{const c=we.comment!==!1,u=t.value.comment;return!!u||c!==!1&&u!==!1}),i=m(()=>{const c=we.pageview!==!1,u=t.value.pageview;return!!u||c!==!1&&u!==!1}),s=m(()=>te(e.value.path)),d=m(()=>({lang:a.value==="zh-CN"?"zh-CN":"en",locale:n.value,dark:"html.dark",...we,path:s.value}));return R(()=>{I(s,()=>{o==null||o(),i.value&&Te().then(()=>{setTimeout(()=>{o=al({serverURL:we.serverURL,path:s.value})},we.delay||800)})},{immediate:!0})}),()=>l.value?r("div",{class:"waline-wrapper",id:"comment"},r(b({loader:async()=>(await p(()=>import("./component-b575e8e6.js"),["assets/component-b575e8e6.js","assets/framework-8be3ab77.js"])).Waline,loadingComponent:Ea}),d.value)):null}});const rl={provider:"Waline",dark:'html[data-theme="dark"]',serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],reaction:!1}.comment!==!1,ll=E({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=C(),a=m(()=>t.value.comment||rl&&t.value.comment!==!1);return()=>r(ol,{darkmode:e.darkmode,style:{display:a.value?"block":"none"}})}});var il=H({enhance:({app:e})=>{e.component("CommentService",ll)}});const sl=800,cl=2e3,ul={"/zh/":{copy:"复制代码",copied:"已复制",hint:"复制成功"},"/en/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"},"/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"}},dl=!1,vl=['.theme-hope-content div[class*="language-"] pre'],Gt=!1,qe=new Map,pl=()=>{const{copy:e}=Yo({legacy:!0}),t=ve(ul),a=D(),n=Eo(),o=s=>{if(!s.hasAttribute("copy-code-registered")){const d=document.createElement("button");d.type="button",d.classList.add("copy-code-button"),d.innerHTML='
',d.setAttribute("aria-label",t.value.copy),d.setAttribute("data-copied",t.value.copied),s.parentElement&&s.parentElement.insertBefore(d,s),s.setAttribute("copy-code-registered","")}},l=()=>Te().then(()=>new Promise(s=>{setTimeout(()=>{vl.forEach(d=>{document.querySelectorAll(d).forEach(o)}),s()},sl)})),i=(s,d,c)=>{let{innerText:u=""}=d;/language-(shellscript|shell|bash|sh|zsh)/.test(s.classList.toString())&&(u=u.replace(/^ *(\$|>) /gm,"")),e(u).then(()=>{c.classList.add("copied"),clearTimeout(qe.get(c));const v=setTimeout(()=>{c.classList.remove("copied"),c.blur(),qe.delete(c)},cl);qe.set(c,v)})};R(()=>{(!n.value||Gt)&&l(),N("click",s=>{const d=s.target;if(d.matches('div[class*="language-"] > button.copy')){const c=d.parentElement,u=d.nextElementSibling;u&&i(c,u,d)}else if(d.matches('div[class*="language-"] div.copy-icon')){const c=d.parentElement,u=c.parentElement,v=c.nextElementSibling;v&&i(u,v,c)}}),I(()=>a.value.path,()=>{(!n.value||Gt)&&l()})})};var ml=H({setup:()=>{pl()}});const We=vt("VUEPRESS_TAB_STORE",{});var hl=E({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},setup(e,{slots:t}){const a=k(e.active),n=k([]),o=()=>{if(e.tabId){const{title:c,id:u=c}=e.data[a.value];We.value[e.tabId]=u}},l=(c=a.value)=>{a.value=c{a.value=c>0?c-1:n.value.length-1,n.value[a.value].focus()},s=(c,u)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),a.value=u):c.key==="ArrowRight"?(c.preventDefault(),l()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),o()},d=()=>{if(e.tabId){const c=e.data.findIndex(({title:u,id:v=u})=>We.value[e.tabId]===v);if(c!==-1)return c}return e.active};return R(()=>{a.value=d(),I(()=>We.value[e.tabId],(c,u)=>{if(e.tabId&&c!==u){const v=e.data.findIndex(({title:h,id:f=h})=>f===c);v!==-1&&(a.value=v)}})}),()=>e.data.length?r("div",{class:"tab-list"},[r("div",{class:"tab-list-nav",role:"tablist"},e.data.map(({title:c},u)=>{const v=u===a.value;return r("button",{type:"button",ref:h=>{h&&(n.value[u]=h)},class:["tab-list-nav-item",{active:v}],role:"tab","aria-controls":`tab-${e.id}-${u}`,"aria-selected":v,onClick:()=>{a.value=u,o()},onKeydown:h=>s(h,u)},c)})),e.data.map(({title:c,id:u=c},v)=>{var h;const f=v===a.value;return r("div",{class:["tab-item",{active:f}],id:`tab-${e.id}-${v}`,role:"tabpanel","aria-expanded":f},(h=t[`tab${v}`])==null?void 0:h.call(t,{title:c,value:u,isActive:f}))})]):null}});const fl=H({enhance:({app:e})=>{e.component("Tabs",hl)}});const gl=".theme-hope-content :not(a) > img:not([no-view])",_l={"/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)"}},bl=800,yl={},wl='
',El=e=>F(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Qa=e=>new Promise((t,a)=>{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(Qa(e)),e.onerror=n=>a(n))}),kl=()=>{const{isSupported:e,toggle:t}=pt(),a=ve(_l),n=D();let o;const l=s=>{s.on("uiRegister",()=>{e&&s.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{t()}}),s.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(d,c)=>{d.setAttribute("download",""),d.setAttribute("target","_blank"),d.setAttribute("rel","noopener"),c.on("change",()=>{d.setAttribute("href",c.currSlide.data.src)})}}),s.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(d,c)=>{const u=[];let v=-1;for(let h=0;h{c.goTo(u.indexOf(w.target))},u.push(f),d.appendChild(f)}c.on("change",()=>{v>=0&&u[v].classList.remove("active"),u[c.currIndex].classList.add("active"),v=c.currIndex})}})})},i=()=>Promise.all([p(()=>import("./photoswipe.esm-36cd6c3c.js"),[]),Te().then(()=>new Promise(s=>setTimeout(s,bl)).then(()=>El(gl)))]).then(([{default:s},d])=>{const c=d.map(u=>({html:wl,element:u,msrc:u.src}));d.forEach((u,v)=>{const h=()=>{o=new s({preloaderDelay:0,showHideAnimationType:"zoom",...a.value,...yl,dataSource:c,index:v,closeOnVerticalDrag:!0,wheelToZoom:!1}),l(o),o.addFilter("thumbEl",()=>u),o.addFilter("placeholderSrc",()=>u.src),o.init()};u.style.cursor="zoom-in",u.addEventListener("click",()=>{h()}),u.addEventListener("keypress",({key:f})=>{f==="Enter"&&h()})}),d.forEach((u,v)=>{Qa(u).then(h=>{c.splice(v,1,h),o==null||o.refreshSlideContent(v)})})});R(()=>{N("wheel",()=>{o==null||o.close()}),i(),I(()=>n.value.path,()=>i())})};var Ll=H({setup:()=>{kl()}});function Tl(e){return{all:e=e||new Map,on:function(t,a){var n=e.get(t);n?n.push(a):e.set(t,[a])},off:function(t,a){var n=e.get(t);n&&(a?n.splice(n.indexOf(a)>>>0,1):e.set(t,[]))},emit:function(t,a){var n=e.get(t);n&&n.slice().map(function(o){o(a)}),(n=e.get("*"))&&n.slice().map(function(o){o(t,a)})}}}const Ya=Symbol(""),Al=()=>{const e=J(Ya);if(!e)throw new Error("usePWAEvent() is called without provider.");return e},Ol=async e=>{const{register:t}=await p(()=>import("./index-70769223.js"),[]);t(te("service-worker.js"),{ready(a){console.log("[PWA]: Service worker is active"),e.emit("ready",a)},registered(a){console.log("[PWA]: Service worker has been registered."),e.emit("registered",a)},cached(a){console.log("[PWA]: Content has been cached for offline usage"),e.emit("cached",a)},async updatefound(a){await navigator.serviceWorker.getRegistration()&&(console.log("[PWA]: New content is downloading."),e.emit("updatefound",a))},updated(a){console.log("[PWA]: New content is available, please refresh.");const n="service-worker-version",o=Number(localStorage.getItem(n)||0);localStorage.setItem(n,(o+1).toString()),localStorage.removeItem("manifest"),e.emit("updated",a)},offline(){console.log("[PWA]: No internet connection found. App is running in offline mode."),e.emit("offline")},error(a){console.log("[PWA]: Error during service worker registration:",a),e.emit("error",a)}})},Il=()=>{const e=Tl();tt(Ya,e),R(async()=>{var t;let a=!1;(t=navigator.serviceWorker)!=null&&t.controller&&navigator.serviceWorker.addEventListener("controllerchange",()=>{a||(a=!0,window.location.reload())}),await Ol(e)})},Ja=()=>r(x,{name:"update"},()=>r("path",{d:"M949.949 146.25v255.826c0 21.981-13.989 35.97-35.97 35.97H658.154c-13.988 0-25.983-7.992-33.973-21.981-5.997-13.989-4-27.977 7.991-39.97l79.942-77.946c-55.954-51.973-121.918-77.955-199.863-77.955-37.975 0-75.95 8.002-113.924 21.99-37.975 15.985-67.948 37.976-91.934 63.957-25.982 23.987-47.973 53.96-63.957 91.934-29.983 73.955-29.983 153.895 0 227.85 15.984 37.976 37.975 67.947 63.957 91.934 23.986 25.982 53.959 47.973 91.934 63.956 37.974 13.989 75.95 21.991 113.924 21.991 45.967 0 87.942-9.998 127.913-29.982 41.976-17.99 75.951-45.967 101.931-83.943 7.993-4 11.994-5.995 13.989-5.995 5.997 0 9.998 1.994 13.988 5.995l77.958 77.946c3.989 4 5.986 7.993 5.986 11.994 0 1.994-1.996 5.995-3.99 11.994-43.973 51.962-93.941 91.934-151.9 117.914-53.958 25.983-115.92 39.972-185.874 39.972-61.961 0-119.921-11.984-169.89-33.973-57.96-25.985-105.923-57.963-139.896-93.943-35.98-33.972-67.958-81.936-93.94-139.897-45.967-101.93-45.967-237.846 0-339.777 25.982-57.96 57.96-105.923 93.94-139.896 33.973-35.98 81.936-67.958 139.896-93.94 49.968-21.99 107.928-33.974 169.89-33.974 55.963 0 109.923 9.988 161.885 29.973 53.97 21.99 101.933 51.963 139.908 89.938l73.954-73.944c9.987-9.998 23.987-13.988 39.971-8.002 13.988 8.002 21.98 19.995 21.98 33.984z"}));Ja.displayName="UpdateIcon";const Pl={"/zh/":{install:"安装",iOSInstall:"点击分享按钮然后点击“添加到主屏幕”",cancel:"取消",close:"关闭",prevImage:"上一张图片",nextImage:"下一张图片",desc:"详情",feature:"主要特色",explain:"该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。",hint:"发现新内容可用",update:"新内容已就绪"},"/en/":{install:"Install",iOSInstall:"Tap the share button and then 'Add to Home Screen'",cancel:"Cancel",close:"Close",prevImage:"Previous Image",nextImage:"Next Image",desc:"Description",feature:"Key Features",explain:"This app can be installed on your PC or mobile device. This will allow this web app to look and behave like any other installed app. You will find it in your app lists and be able to pin it to your home screen, start menus or task bars. This installed web app will also be able to safely interact with other apps and your operating system. ",hint:"New content found.",update:"New content is available."},"/":{install:"Install",iOSInstall:"Tap the share button and then 'Add to Home Screen'",cancel:"Cancel",close:"Close",prevImage:"Previous Image",nextImage:"Next Image",desc:"Description",feature:"Key Features",explain:"This app can be installed on your PC or mobile device. This will allow this web app to look and behave like any other installed app. You will find it in your app lists and be able to pin it to your home screen, start menus or task bars. This installed web app will also be able to safely interact with other apps and your operating system. ",hint:"New content found.",update:"New content is available."}};var Sl=E({name:"SWHintPopup",setup(e,{slots:t}){const a=ve(Pl),n=k(!1),o=()=>{n.value&&(window.location.reload(!0),n.value=!1)};return R(()=>{const l=Al();l.on("updatefound",()=>{navigator.serviceWorker.getRegistration().then(i=>{i&&i.active&&(n.value=!0)})}),l.on("updated",()=>{n.value=!1})}),()=>r(se,{name:"popup"},()=>{var l;return((l=t.default)==null?void 0:l.call(t,{enabled:n.value,uninstall:o}))||(n.value?r("button",{type:"button",class:"sw-hint-popup",tabindex:0,onClick:()=>o()},[a.value.hint,r("span",{class:"icon-wrapper"},r(Ja))]):null)})}});const Dl=H({setup:()=>{Il()},rootComponents:[Sl]}),Xa=()=>{const e=D();return m(()=>e.value.readingTime??null)},Ke=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"}},$l=(e,t)=>{const{minutes:a,words:n}=e,{less1Minute:o,word:l,time:i}=t;return{time:a<1?o:i.replace("$time",Math.round(a).toString()),words:l.replace("$word",n.toString())}},Kt={words:"",time:""},Rl=()=>Ke?ve(Ke):m(()=>null),xl=()=>{if(typeof Ke>"u")return m(()=>Kt);const e=Xa(),t=Rl();return m(()=>e.value&&t.value?$l(e.value,t.value):Kt)},le=()=>Ga(),$=()=>Qr(),Fe=()=>m(()=>!!le().value.pure);var Qt=E({name:"EmptyComponent",setup:()=>()=>null});const ft={"/zh/features/":["game-launcher","wish-export","achievements","real-time-notes","character-data","hutao-API","develop-plan","character-wiki","weapon-wiki","mhy-account-switch","hutao-settings"],"/zh/advanced/":["FAQ","exceptions","known-issue","mihoyo-risk-tip","get-stoken-cookie-from-the-third-party","Gacha-system-and-export-principal","uninstall"],"/zh/statements/":["update-log","bug-report","privacy-notice","tos"],"/en/features/":["game-launcher","wish-export","achievements","real-time-notes","character-data","hutao-API","develop-plan","character-wiki","weapon-wiki","mhy-account-switch","hutao-settings"],"/en/advanced/":["FAQ","exceptions","known-issue","mihoyo-risk-tip","get-stoken-cookie-from-the-third-party","Gacha-system-and-export-principal","uninstall"],"/en/statements/":["update-log","bug-report","privacy-notice","tos"],"/":[]},Za=e=>{const{icon:t="",color:a,size:n}=e,o={};return a&&(o.color=a),n&&(o.height=Number.isNaN(Number(n))?n:`${n}px`),ke(t)?r("img",{class:"icon",src:t,"no-view":"",style:o}):lt(t)?r("img",{class:"icon",src:te(t),"no-view":"",style:o}):r(q("FontIcon"),e)};Za.displayName="HopeIcon";var U=Za,Z=(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))(Z||{}),Cl=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(Cl||{});const ge=(e,t=!1)=>{const a=G(),{fullPath:n,meta:o,name:l}=st(a,encodeURI(e));return{text:!t&&o[Z.shortTitle]?o[Z.shortTitle]:o[Z.title]||e,link:l==="404"?e:n,...o[Z.icon]?{icon:o[Z.icon]}:{}}},zl=()=>{const e=G(),t=K();return a=>{if(a)if(lt(a))t.path!==a&&e.push(a);else if(ke(a)||va(a))window&&window.open(a);else{const n=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${n}/${encodeURI(a)}`)}}},en=()=>{const e=$(),t=C();return m(()=>{const{author:a}=t.value;return a?kt(a):a===!1?[]:kt(e.value.author,!1)})},Vl=()=>{const e=C();return m(()=>Lo(e.value.category).map(t=>({name:t,path:""})))},Nl=()=>{const e=C();return m(()=>To(e.value.tag).map(t=>({name:t,path:""})))},Ml=()=>{const e=C(),t=D();return m(()=>{const a=ko(e.value.date);if(a)return a;const{createdTime:n}=t.value.git||{};return n?new Date(n):null})},Bl=()=>{const e=$(),t=D(),a=C(),n=en(),o=Vl(),l=Nl(),i=Ml(),s=Xa(),d=xl(),c=m(()=>({author:n.value,category:o.value,date:i.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:a.value.isOriginal||!1,readingTime:s.value,readingTimeLocale:d.value,pageview:"pageview"in a.value?a.value.pageview:!0})),u=m(()=>"pageInfo"in a.value?a.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:u}},He=()=>{const e=le(),t=k(!1),a=k(!1),n=()=>{t.value=window.innerWidth<=(e.value.mobileBreakPoint||719),a.value=window.innerWidth>=(e.value.pcBreakPoint||1440)};return R(()=>{n(),N("resize",n,!1),N("orientationchange",n,!1)}),{isMobile:t,isPC:a}},tn=Symbol(""),Oe=()=>{const e=J(tn);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Fl=e=>{const t=le(),a=rr(),n=vt("vuepress-theme-hope-scheme","auto"),o=m(()=>t.value.darkmode||"switch"),l=m(()=>{const s=o.value;return s==="disable"?!1:s==="enable"?!0:s==="auto"?a.value:s==="toggle"?n.value==="dark":n.value==="dark"||n.value==="auto"&&a.value}),i=m(()=>{const s=o.value;return s==="switch"||s==="toggle"});e.provide(tn,{canToggle:i,config:o,isDarkmode:l,status:n}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},Hl=()=>{const{isDarkmode:e}=Oe(),t=(a=e.value)=>document.documentElement.setAttribute("data-theme",a?"dark":"light");R(()=>{I(e,t,{immediate:!0})})};var j=E({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],setup(e,{attrs:t,emit:a,slots:n}){const o=K(),l=ba(),i=ze(e,"config"),s=m(()=>ke(i.value.link)),d=m(()=>va(i.value.link)||Qn(i.value.link)),c=m(()=>d.value?void 0:i.value.target||(s.value?"_blank":void 0)),u=m(()=>c.value==="_blank"),v=m(()=>!s.value&&!d.value&&!u.value),h=m(()=>d.value?void 0:i.value.rel||(u.value?"noopener noreferrer":void 0)),f=m(()=>i.value.ariaLabel||i.value.text),w=m(()=>{if(e.exact)return!1;const y=ye(l.value.locales);return y.length?y.every(g=>g!==i.value.link):i.value.link!=="/"}),L=m(()=>v.value?i.value.activeMatch?new RegExp(i.value.activeMatch).test(o.path):w.value?Ee(o.path,i.value.link):o.path===i.value.link:!1);return()=>{var y,g,A;const{text:P,icon:V,link:M}=i.value;return v.value?r(re,{to:M,"aria-label":f.value,...t,class:["nav-link",{active:L.value},t.class],onFocusout:()=>a("focusout")},()=>{var S,_,T;return((S=n.default)==null?void 0:S.call(n))||[((_=n.before)==null?void 0:_.call(n))||r(U,{icon:V}),P,(T=n.after)==null?void 0:T.call(n)]}):r("a",{href:M,rel:h.value,target:c.value,"aria-label":f.value,...t,class:["nav-link",t.class],onFocusout:()=>a("focusout")},((y=n.default)==null?void 0:y.call(n))||[((g=n.before)==null?void 0:g.call(n))||r(U,{icon:V}),P,e.noExternalLinkIcon?null:r(Wa),(A=n.after)==null?void 0:A.call(n)])}}});const _e=(e,t,a=!1)=>"activeMatch"in t?new RegExp(t.activeMatch).test(e.path):it(e,t.link)?!0:t.children&&!a?t.children.some(n=>_e(e,n)):!1,an=(e,t)=>t.type==="group"?t.children.some(a=>a.type==="group"?an(e,a):a.type==="page"&&_e(e,a,!0))||"prefix"in t&&it(e,t.prefix):!1,nn=(e,t)=>F(e.link)?r(j,{...t,config:e}):r("p",t,[r(U,{icon:e.icon}),e.text]),on=e=>{const t=K();return e?r("ul",{class:"sidebar-sub-headers"},e.map(a=>{const n=_e(t,a,!0);return r("li",{class:"sidebar-sub-header"},[nn(a,{class:["sidebar-link","heading",{active:n}]}),on(a.children)])})):null},Ue=(e="",t="")=>lt(t)?t:`${Yn(e)}${t}`,jl=(e,t)=>{const a=D();return{type:"heading",text:e.title,link:`${a.value.path}#${e.slug}`,children:gt(e.children,t)}},gt=(e,t)=>t>0?e.map(a=>jl(a,t-1)):[],rn=e=>{const t=D();return gt(t.value.headers,e)},Qe=(e,t,a="")=>{const n=D(),o=(l,i=a)=>{var s;const d=F(l)?ge(Ue(i,l)):l.link?{...l,...Re(l.link)?{}:{link:ge(Ue(i,l.link)).link}}:l;if("children"in d){const c=Ue(i,d.prefix),u=d.children==="structure"?ft[c]:d.children;return{type:"group",...d,prefix:c,children:u.map(v=>o(v,c))}}return{type:"page",...d,children:d.link===n.value.path?gt(((s=n.value.headers[0])==null?void 0:s.level)===1?n.value.headers[0].children:n.value.headers,t):[]}};return e.map(l=>o(l))},ql=(e,t)=>{const a=D(),n=ye(e).sort((o,l)=>l.length-o.length);for(const o of n)if(Ee(decodeURI(a.value.path),o)){const l=e[o];return l?Qe(l==="structure"?ft[o]:l==="heading"?rn(t):l,t,o):[]}return console.warn(`${a.value.path} is missing sidebar config.`),[]},Wl=()=>{const e=ae(),t=C(),a=$(),n=t.value.home?!1:t.value.sidebar??a.value.sidebar??"structure",o=t.value.headerDepth??a.value.headerDepth??2;return n===!1?[]:n==="heading"?rn(o):n==="structure"?Qe(ft[e.value],o,e.value):Ce(n)?Qe(n,o):at(n)?ql(n,o):[]},ln=Symbol(""),Ul=()=>{const e=m(()=>Wl());tt(ln,e)},_t=()=>{const e=J(ln);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Gl=E({name:"PageFooter",setup(){const e=C(),t=$(),a=en(),n=m(()=>{const{copyright:i,footer:s}=e.value;return s!==!1&&!!(i||s||t.value.displayFooter)}),o=m(()=>{const{footer:i}=e.value;return i===!1?!1:F(i)?i:t.value.footer||""}),l=m(()=>"copyright"in e.value?e.value.copyright:"copyright"in t.value?t.value.copyright:a.value.length?`Copyright © ${new Date().getFullYear()} ${a.value[0].name}`:!1);return()=>n.value?r("footer",{class:"footer-wrapper"},[o.value?r("div",{class:"footer",innerHTML:o.value}):null,l.value?r("div",{class:"copyright",innerHTML:l.value}):null]):null}}),sn=E({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},setup(e,{slots:t}){const a=D(),n=ze(e,"config"),o=m(()=>n.value.ariaLabel||n.value.text),l=k(!1);I(()=>a.value.path,()=>{l.value=!1});const i=s=>{s.detail===0&&(l.value=!l.value)};return()=>{var s;return r("div",{class:["dropdown-wrapper",{open:l.value}]},[r("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:i},[((s=t.title)==null?void 0:s.call(t))||r("span",{class:"title"},[r(U,{icon:n.value.icon}),e.config.text]),r("span",{class:"arrow"}),r("ul",{class:"nav-dropdown"},n.value.children.map((d,c)=>{const u=c===n.value.children.length-1;return r("li",{class:"dropdown-item"},"children"in d?[r("h4",{class:"dropdown-subtitle"},d.link?r(j,{config:d,onFocusout:()=>{d.children.length===0&&u&&(l.value=!1)}}):r("span",d.text)),r("ul",{class:"dropdown-subitem-wrapper"},d.children.map((v,h)=>r("li",{class:"dropdown-subitem"},r(j,{config:v,onFocusout:()=>{h===d.children.length-1&&u&&(l.value=!1)}}))))]:r(j,{config:d,onFocusout:()=>{u&&(l.value=!1)}}))}))])])}}});const cn=()=>r(x,{name:"i18n"},()=>[r("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"})]);cn.displayName="I18nIcon";const un=(e,t="")=>F(e)?ge(`${t}${e}`):"children"in e?{...e,...e.link&&!Re(e.link)?ge(`${t}${e.link}`):{},children:e.children.map(a=>un(a,`${t}${e.prefix||""}`))}:{...e,link:Re(e.link)?e.link:ge(`${t}${e.link}`).link},dn=()=>m(()=>($().value.navbar||[]).map(e=>un(e))),Kl=()=>{const e=G(),t=K(),a=ae(),n=Me(),o=le(),l=$();return m(()=>{const i=ye(n.value.locales);if(i.length<2)return null;const{path:s,fullPath:d}=e.currentRoute.value,{navbarLocales:c}=l.value;return{text:"",ariaLabel:c==null?void 0:c.selectLangAriaLabel,children:[...i.map(u=>{var v,h,f;const w=((v=n.value.locales)==null?void 0:v[u])??{},L=((h=o.value.locales)==null?void 0:h[u])??{},y=w.lang||"",g=((f=L.navbarLocales)==null?void 0:f.langName)??y;let A;if(y===n.value.lang)A=s;else{const P=s.replace(a.value,u);A=e.getRoutes().some(V=>V.path===P)?d.replace(s,P):L.home??u}return{text:g,link:A}}),...rt(o.value.extraLocales||{}).map(([u,v])=>({text:u,link:v.replace(":route",t.path.replace(a.value,""))}))]}})},Ql=()=>{const e=$(),t=m(()=>e.value.repo||null),a=m(()=>t.value?Oo(t.value):null),n=m(()=>t.value?Ca(t.value):null),o=m(()=>a.value?e.value.repoLabel??(n.value===null?"Source":n.value):null);return m(()=>!a.value||!o.value||e.value.repoDisplay===!1?null:{type:n.value||"Source",label:o.value,link:a.value})};var Yl=E({name:"LanguageDropdown",setup(){const e=Kl();return()=>e.value?r("div",{class:"nav-item"},r(sn,{class:"i18n-dropdown",config:e.value},{title:()=>{var t;return r(cn,{"aria-label":(t=e.value)==null?void 0:t.ariaLabel,style:{width:"1rem",height:"1rem",verticalAlign:"middle"}})}})):null}}),Jl=E({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=D(),a=ze(e,"config"),n=m(()=>a.value.ariaLabel||a.value.text),o=k(!1);I(()=>t.value.path,()=>{o.value=!1});const l=(i,s)=>s[s.length-1]===i;return()=>[r("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":n.value,onClick:()=>{o.value=!o.value}},[r("span",{class:"title"},[r(U,{icon:a.value.icon}),e.config.text]),r("span",{class:["arrow",o.value?"down":"end"]})]),r("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},a.value.children.map(i=>r("li",{class:"dropdown-item"},"children"in i?[r("h4",{class:"dropdown-subtitle"},i.link?r(j,{config:i,onFocusout:()=>{l(i,a.value.children)&&i.children.length===0&&(o.value=!1)}}):r("span",i.text)),r("ul",{class:"dropdown-subitem-wrapper"},i.children.map(s=>r("li",{class:"dropdown-subitem"},r(j,{config:s,onFocusout:()=>{l(s,i.children)&&l(i,a.value.children)&&(o.value=!1)}}))))]:r(j,{config:i,onFocusout:()=>{l(i,a.value.children)&&(o.value=!1)}}))))]}}),Xl=E({name:"NavScreenLinks",setup(){const e=dn();return()=>e.value.length?r("nav",{class:"nav-screen-links"},e.value.map(t=>r("div",{class:"navbar-links-item"},"children"in t?r(Jl,{config:t}):r(j,{config:t})))):null}});const vn=()=>r(x,{name:"dark"},()=>r("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"}));vn.displayName="DarkIcon";const pn=()=>r(x,{name:"light"},()=>r("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"}));pn.displayName="LightIcon";const mn=()=>r(x,{name:"auto"},()=>r("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"}));mn.displayName="AutoIcon";const hn=()=>r(x,{name:"enter-fullscreen"},()=>r("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"}));hn.displayName="EnterFullScreenIcon";const fn=()=>r(x,{name:"cancel-fullscreen"},()=>r("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"}));fn.displayName="CancelFullScreenIcon";const gn=()=>r(x,{name:"outlook"},()=>[r("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"})]);gn.displayName="OutlookIcon";var _n=E({name:"AppearanceSwitch",setup(){const{config:e,status:t}=Oe(),a=()=>{e.value==="switch"?t.value={light:"dark",dark:"auto",auto:"light"}[t.value]:t.value=t.value==="light"?"dark":"light"};return()=>r("button",{type:"button",id:"appearance-switch",onClick:()=>a()},[r(mn,{style:{display:t.value==="auto"?"block":"none"}}),r(vn,{style:{display:t.value==="dark"?"block":"none"}}),r(pn,{style:{display:t.value==="light"?"block":"none"}})])}}),Zl=E({name:"AppearanceMode",setup(){const e=$(),{canToggle:t}=Oe(),a=m(()=>e.value.outlookLocales.darkmode);return()=>t.value?r("div",{class:"appearance-wrapper"},[r("label",{class:"appearance-title",for:"appearance-switch"},a.value),r(_n)]):null}}),ei=E({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(a="")=>{const n=document.documentElement.classList,o=ye(e.themeColor).map(l=>`theme-${l}`);if(!a){localStorage.removeItem("theme"),n.remove(...o);return}n.remove(...o.filter(l=>l!==`theme-${a}`)),n.add(`theme-${a}`),localStorage.setItem("theme",a)};return R(()=>{const a=localStorage.getItem("theme");a&&t(a)}),()=>r("ul",{id:"theme-color-picker"},[r("li",r("span",{class:"theme-color",onClick:()=>t()})),rt(e.themeColor).map(([a,n])=>r("li",r("span",{style:{background:n},onClick:()=>t(a)})))])}}),ti=E({name:"ThemeColor",setup(){const e=le(),t=$(),a=m(()=>t.value.outlookLocales.themeColor),n=m(()=>{const{themeColor:o}=e.value;return o===!1?null:o});return()=>n.value?r("div",{class:"theme-color-wrapper"},[r("label",{class:"theme-color-title",for:"theme-color-picker"},a.value),r(ei,{themeColor:n.value})]):null}}),bn=E({name:"ToggleFullScreenButton",setup(){const e=$(),{isSupported:t,isFullscreen:a,toggle:n}=pt(),o=m(()=>e.value.outlookLocales.fullscreen);return()=>t?r("div",{class:"full-screen-wrapper"},[r("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),r("button",{type:"button",class:"full-screen",id:"full-screen-switch",ariaPressed:a.value,onClick:()=>n()},a.value?r(fn):r(hn))]):null}}),yn=E({name:"OutlookSettings",setup(){const e=le(),t=Fe(),a=m(()=>!t.value&&!!e.value.themeColor),n=m(()=>!t.value&&e.value.fullscreen);return()=>r(Be,()=>[a.value?r(ti):null,r(Zl),n.value?r(bn):null])}}),ai=E({name:"NavScreen",props:{show:Boolean},emits:["close"],setup(e,{emit:t,slots:a}){const n=D(),{isMobile:o}=He(),l=k(),i=mt(l);return R(()=>{l.value=document.body,I(o,s=>{!s&&e.show&&(i.value=!1,t("close"))}),I(()=>n.value.path,()=>{i.value=!1,t("close")})}),Ve(()=>{i.value=!1}),()=>r(se,{name:"fade",onEnter:()=>{i.value=!0},onAfterLeave:()=>{i.value=!1}},()=>{var s,d;return e.show?r("div",{id:"nav-screen"},r("div",{class:"container"},[(s=a.before)==null?void 0:s.call(a),r(Xl),r("div",{class:"outlook-wrapper"},r(yn)),(d=a.after)==null?void 0:d.call(a)])):null})}}),ni=E({name:"NavbarBrand",setup(){const e=ae(),t=Me(),a=$(),n=m(()=>a.value.home||e.value),o=m(()=>t.value.title),l=m(()=>a.value.logo?te(a.value.logo):null),i=m(()=>a.value.logoDark?te(a.value.logoDark):null);return()=>r(re,{to:n.value,class:"brand"},()=>[l.value?r("img",{class:["logo",{light:!!i.value}],src:l.value,alt:o.value}):null,i.value?r("img",{class:["logo dark"],src:i.value,alt:o.value}):null,o.value?r("span",{class:["site-name",{"hide-in-pad":l.value&&a.value.hideSiteNameOnMobile!==!1}]},o.value):null])}}),oi=E({name:"NavbarLinks",setup(){const e=dn();return()=>e.value.length?r("nav",{class:"nav-links"},e.value.map(t=>r("div",{class:"nav-item hide-in-mobile"},"children"in t?r(sn,{config:t}):r(j,{config:t})))):null}}),ri=E({name:"RepoLink",components:{BitbucketIcon:Oa,GiteeIcon:Aa,GitHubIcon:La,GitLabIcon:Ta,SourceIcon:Ia},setup(){const e=Ql();return()=>e.value?r("div",{class:"nav-item"},r("a",{class:"repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},r(q(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const wn=({active:e=!1},{emit:t})=>r("button",{type:"button",class:["toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},r("span",{class:"button-container"},[r("span",{class:"button-top"}),r("span",{class:"button-middle"}),r("span",{class:"button-bottom"})]));wn.displayName="ToggleNavbarButton";var li=wn;const Ye=(e,{emit:t})=>r("button",{type:"button",class:"toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},r("span",{class:"icon"}));Ye.displayName="ToggleSidebarButton",Ye.emits=["toggle"];var ii=Ye,si=E({name:"OutlookButton",setup(){const{isSupported:e}=pt(),t=le(),a=Fe(),n=D(),{canToggle:o}=Oe(),l=k(!1),i=m(()=>!a.value&&!!t.value.themeColor),s=m(()=>!a.value&&t.value.fullscreen&&e);return I(()=>n.value.path,()=>{l.value=!1}),()=>o.value||s.value||i.value?r("div",{class:"nav-item hide-in-mobile"},o.value&&!s.value&&!i.value?r(_n):s.value&&!o.value&&!i.value?r(bn):r("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[r(gn),r("div",{class:"outlook-dropdown"},r(yn))])):null}}),ci=E({name:"NavBar",emits:["toggleSidebar"],setup(e,{emit:t,slots:a}){const n=$(),{isMobile:o}=He(),l=k(!1),i=m(()=>{const{navbarAutoHide:u="mobile"}=n.value;return u!=="none"&&(u==="always"||o.value)}),s=m(()=>n.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),d={Brand:ni,Language:Yl,Links:oi,Repo:ri,Outlook:si,Search:Y("Docsearch")?q("Docsearch"):Y("SearchBox")?q("SearchBox"):Qt},c=u=>d[u]??(Y(u)?q(u):Qt);return()=>{var u,v,h,f,w,L;return[r("header",{class:["navbar",{"auto-hide":i.value,"hide-icon":n.value.navbarIcon===!1}],id:"navbar"},[r("div",{class:"navbar-start"},[r(ii,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(u=a.startBefore)==null?void 0:u.call(a),(s.value.start||[]).map(y=>r(c(y))),(v=a.startAfter)==null?void 0:v.call(a)]),r("div",{class:"navbar-center"},[(h=a.centerBefore)==null?void 0:h.call(a),(s.value.center||[]).map(y=>r(c(y))),(f=a.centerAfter)==null?void 0:f.call(a)]),r("div",{class:"navbar-end"},[(w=a.endBefore)==null?void 0:w.call(a),(s.value.end||[]).map(y=>r(c(y))),(L=a.endAfter)==null?void 0:L.call(a),r(li,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),r(ai,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var y;return(y=a.screenTop)==null?void 0:y.call(a)},after:()=>{var y;return(y=a.screenBottom)==null?void 0:y.call(a)}})]}}}),ui=E({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=K();return()=>[nn(e.config,{class:["sidebar-link",`sidebar-${e.config.type}`,{active:_e(t,e.config,!0)}],exact:!0}),on(e.config.children)]}}),di=E({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const a=K(),n=m(()=>_e(a,e.config)),o=m(()=>_e(a,e.config,!0));return()=>{const{collapsible:l,children:i=[],icon:s,prefix:d,link:c,text:u}=e.config;return r("section",{class:"sidebar-group"},[r(l?"button":"p",{class:["sidebar-heading",{clickable:l||c,exact:o.value,active:n.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:v=>{v.key==="Enter"&&t("toggle")}}:{}},[r(U,{icon:s}),c?r(j,{class:"title",config:{text:u,link:c},noExternalLinkIcon:!0}):r("span",{class:"title"},u),l?r("span",{class:["arrow",e.open?"down":"end"]}):null]),e.open||!l?r(En,{key:d,config:i}):null])}}}),En=E({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=K(),a=k(-1),n=o=>{a.value=o===a.value?-1:o};return I(()=>t.path,()=>{const o=e.config.findIndex(l=>an(t,l));a.value=o},{immediate:!0,flush:"post"}),()=>r("ul",{class:"sidebar-links"},e.config.map((o,l)=>r("li",o.type==="group"?r(di,{config:o,open:l===a.value,onToggle:()=>n(l)}):r(ui,{config:o}))))}}),vi=E({name:"SideBar",setup(e,{slots:t}){const a=K(),n=$(),o=_t(),l=k();return R(()=>{I(()=>a.hash,i=>{const s=document.querySelector(`.sidebar a.sidebar-link[href="${a.path}${i}"]`);if(!s)return;const{top:d,height:c}=l.value.getBoundingClientRect(),{top:u,height:v}=s.getBoundingClientRect();ud+c&&s.scrollIntoView(!1)})}),()=>{var i,s,d;return r("aside",{class:["sidebar",{"hide-icon":n.value.sidebarIcon===!1}],id:"sidebar",ref:l},[(i=t.top)==null?void 0:i.call(t),((s=t.default)==null?void 0:s.call(t))||r(En,{config:o.value}),(d=t.bottom)==null?void 0:d.call(t)])}}}),kn=E({name:"CommonWrapper",props:{noNavbar:Boolean,noSidebar:Boolean},setup(e,{slots:t}){const a=G(),n=D(),o=C(),l=$(),{isMobile:i,isPC:s}=He(),[d,c]=At(!1),[u,v]=At(!1),h=_t(),f=k(!1),w=m(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(n.value.title||l.value.logo||l.value.repo||l.value.navbar)),L=m(()=>e.noSidebar?!1:o.value.sidebar!==!1&&h.value.length!==0&&!o.value.home),y={x:0,y:0},g=S=>{y.x=S.changedTouches[0].clientX,y.y=S.changedTouches[0].clientY},A=S=>{const _=S.changedTouches[0].clientX-y.x,T=S.changedTouches[0].clientY-y.y;Math.abs(_)>Math.abs(T)*1.5&&Math.abs(_)>40&&(_>0&&y.x<=80?c(!0):c(!1))},P=m(()=>o.value.home?!1:o.value.toc||l.value.toc!==!1&&o.value.toc!==!1),V=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let M=0;return N("scroll",$o(()=>{const S=V();S<=58||S{S||c(!1)}),R(()=>{const S=mt(document.body);I(d,T=>{S.value=T});const _=a.afterEach(()=>{c(!1)});Ve(()=>{S.value=!1,_()})}),()=>r(Y("GlobalEncrypt")?q("GlobalEncrypt"):ka,()=>{var S;return r("div",{class:["theme-container",{"no-navbar":!w.value,"no-sidebar":!L.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":P.value,"hide-navbar":f.value,"sidebar-collapsed":!i.value&&!s.value&&u.value,"sidebar-open":i.value&&d.value},o.value.containerClass||""],onTouchStart:g,onTouchEnd:A},[w.value?r(ci,{onToggleSidebar:()=>c()},{startBefore:()=>{var _;return(_=t.navbarStartBefore)==null?void 0:_.call(t)},startAfter:()=>{var _;return(_=t.navbarStartAfter)==null?void 0:_.call(t)},centerBefore:()=>{var _;return(_=t.navbarCenterBefore)==null?void 0:_.call(t)},centerAfter:()=>{var _;return(_=t.navbarCenterAfter)==null?void 0:_.call(t)},endBefore:()=>{var _;return(_=t.navbarEndBefore)==null?void 0:_.call(t)},endAfter:()=>{var _;return(_=t.navbarEndAfter)==null?void 0:_.call(t)},screenTop:()=>{var _;return(_=t.navScreenTop)==null?void 0:_.call(t)},screenBottom:()=>{var _;return(_=t.navScreenBottom)==null?void 0:_.call(t)}}):null,r(se,{name:"fade"},()=>d.value?r("div",{class:"sidebar-mask",onClick:()=>c(!1)}):null),r(se,{name:"fade"},()=>i.value?null:r("div",{class:"toggle-sidebar-wrapper",onClick:()=>v()},r("span",{class:["arrow",u.value?"end":"start"]}))),r(vi,{},{...t.sidebar?{default:()=>{var _;return(_=t.sidebar)==null?void 0:_.call(t)}}:{},top:()=>{var _;return(_=t.sidebarTop)==null?void 0:_.call(t)},bottom:()=>{var _;return(_=t.sidebarBottom)==null?void 0:_.call(t)}}),(S=t.default)==null?void 0:S.call(t),r(Gl)])})}}),fe=E({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},setup(e,{slots:t}){const a=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},n=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>r(e.type==="single"?se:da,{name:"drop",appear:e.appear,onAppear:a,onAfterAppear:n,onEnter:a,onAfterEnter:n,onBeforeLeave:a},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const Je=({custom:e})=>r(wa,{class:["theme-hope-content",{custom:e}]});Je.displayName="MarkdownContent",Je.props={custom:Boolean};var Ln=Je;const Tn=()=>r(x,{name:"author"},()=>r("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"}));Tn.displayName="AuthorIcon";const An=()=>r(x,{name:"calendar"},()=>r("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"}));An.displayName="CalendarIcon";const On=()=>r(x,{name:"category"},()=>r("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"}));On.displayName="CategoryIcon";const In=()=>r(x,{name:"eye"},()=>r("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"}));In.displayName="EyeIcon";const Pn=()=>r(x,{name:"fire"},()=>r("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"}));Pn.displayName="FireIcon";const Sn=()=>r(x,{name:"print"},()=>r("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"}));Sn.displayName="PrintIcon";const Dn=()=>r(x,{name:"tag"},()=>r("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"}));Dn.displayName="TagIcon";const $n=()=>r(x,{name:"timer"},()=>r("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"}));$n.displayName="TimerIcon";const Rn=()=>r(x,{name:"word"},()=>[r("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"}),r("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"})]);Rn.displayName="WordIcon";const ne=()=>{const e=$();return m(()=>e.value.metaLocales)};var pi=E({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=ne();return()=>e.author.length?r("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Tn),r("span",e.author.map(a=>a.url?r("a",{class:"page-author-item",href:a.url,target:"_blank",rel:"noopener noreferrer"},a.name):r("span",{class:"page-author-item"},a.name))),r("span",{property:"author",content:e.author.map(a=>a.name).join(", ")})]):null}}),mi=E({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=G(),a=D(),n=ne(),o=(l,i="")=>{i&&a.value.path!==i&&(l.preventDefault(),t.push(i))};return()=>e.category.length?r("span",{class:"page-category-info","aria-label":`${n.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(On),e.category.map(({name:l,path:i})=>r("span",{class:["page-category-item",{[`category${$a(l,9)}`]:!e.pure,clickable:i}],role:i?"navigation":"",onClick:s=>o(s,i)},l)),r("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),hi=E({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Ne(),a=ne();return()=>e.date?r("span",{class:"page-date-info","aria-label":`${a.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(An),r("span",r(Be,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),r("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),fi=E({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=ne();return()=>e.isOriginal?r("span",{class:"page-original-info"},t.value.origin):null}}),gi=E({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=K(),a=ne(),n=k(),o=k(0);return cr(n,()=>{const l=n.value.textContent;l&&!isNaN(Number(l))&&(o.value=Number(l))},{childList:!0}),()=>e.pageview?r("span",{class:"page-pageview-info","aria-label":`${a.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(o.value<1e3?In:Pn),r("span",{ref:n,class:"waline-pageview-count",id:"ArtalkPV","data-path":F(e.pageview)?e.pageview:te(t.path)},"...")]):null}}),_i=E({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=ne(),a=m(()=>{if(!e.readingTime)return null;const{minutes:n}=e.readingTime;return n<1?"PT1M":`PT${Math.round(n)}M`});return()=>{var n,o;return(n=e.readingTimeLocale)!=null&&n.time?r("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r($n),r("span",(o=e.readingTimeLocale)==null?void 0:o.time),r("meta",{property:"timeRequired",content:a.value})]):null}}}),bi=E({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=G(),a=D(),n=ne(),o=(l,i="")=>{i&&a.value.path!==i&&(l.preventDefault(),t.push(i))};return()=>e.tag.length?r("span",{class:"page-tag-info","aria-label":`${n.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Dn),e.tag.map(({name:l,path:i})=>r("span",{class:["page-tag-item",{[`tag${$a(l,9)}`]:!e.pure,clickable:i}],role:i?"navigation":"",onClick:s=>o(s,i)},l)),r("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),yi=E({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=ne();return()=>{var a,n,o;return(a=e.readingTimeLocale)!=null&&a.words?r("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Rn),r("span",(n=e.readingTimeLocale)==null?void 0:n.words),r("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),wi=E({name:"PageInfo",components:{AuthorInfo:pi,CategoryInfo:mi,DateInfo:hi,OriginalInfo:fi,PageViewInfo:gi,ReadingTimeInfo:_i,TagInfo:bi,WordInfo:yi},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=Fe();return()=>e.items?r("div",{class:"page-info"},e.items.map(a=>r(q(`${a}Info`),{...e.info,pure:t.value}))):null}}),Ei=E({name:"PrintButton",setup(){const e=le(),t=$();return()=>e.value.print===!1?null:r("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},r(Sn))}});const ki=({title:e,level:t,slug:a})=>r(re,{to:`#${a}`,class:["toc-link",`level${t}`]},()=>e),Xe=(e,t)=>{const a=K();return e.length&&t>0?r("ul",{class:"toc-list"},e.map(n=>{const o=Xe(n.children,t-1);return[r("li",{class:["toc-item",{active:it(a,`#${n.slug}`)}]},ki(n)),o?r("li",o):null]})):null};var Li=E({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},setup(e,{slots:t}){const a=K(),n=D(),o=ne(),l=k(),i=k("-1.7rem"),s=c=>{var u;(u=l.value)==null||u.scrollTo({top:c,behavior:"smooth"})},d=()=>{if(l.value){const c=document.querySelector(".toc-item.active");c?i.value=`${c.getBoundingClientRect().top-l.value.getBoundingClientRect().top+l.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return R(()=>{I(()=>a.hash,c=>{if(l.value){const u=document.querySelector(`#toc a.toc-link[href$="${c}"]`);if(!u)return;const{top:v,height:h}=l.value.getBoundingClientRect(),{top:f,height:w}=u.getBoundingClientRect();fv+h&&s(l.value.scrollTop+f+w-v-h)}}),I(()=>a.fullPath,()=>d(),{flush:"post",immediate:!0})}),()=>{var c,u;const v=e.items.length?Xe(e.items,e.headerDepth):n.value.headers?Xe(n.value.headers,e.headerDepth):null;return v?r("div",{class:"toc-place-holder"},[r("aside",{id:"toc"},[(c=t.before)==null?void 0:c.call(t),r("div",{class:"toc-header"},[o.value.toc,r(Ei)]),r("div",{class:"toc-wrapper",ref:l},[v,r("div",{class:"toc-marker",style:{top:i.value}})]),(u=t.after)==null?void 0:u.call(t)])]):null}}}),xn=E({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=D(),a=$(),n=k(),o=({target:l})=>{const i=document.querySelector(l.hash);if(i){const s=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",s)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",s),i.focus(),window.scrollTo(0,0)}};return R(()=>{I(()=>t.value.path,()=>n.value.focus())}),()=>[r("span",{ref:n,tabindex:"-1"}),r("a",{href:`#${e.content}`,class:"skip-link sr-only",onClick:o},a.value.routeLocales.skipToContent)]}});let Ge=null,De=null;const Ti={wait:()=>Ge,pending:()=>{Ge=new Promise(e=>De=e)},resolve:()=>{De==null||De(),Ge=null,De=null}},Cn=()=>Ti;var Ai=E({name:"FadeSlideY",setup(e,{slots:t}){const{resolve:a,pending:n}=Cn();return()=>r(se,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:a,onBeforeLeave:n},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}}),Oi=E({name:"FeaturePanel",props:{items:{type:Object,default:()=>[]},header:{type:String,default:""}},setup(e){return()=>r("div",{class:"feature-panel"},[e.header?r("h2",{class:"feature-header"},e.header):null,e.items.length?r("div",{class:"feature-wrapper"},e.items.map(t=>{const a=[r("h3",[r(U,{icon:t.icon}),r("span",{innerHTML:t.title})]),r("p",{innerHTML:t.details})];return t.link?Re(t.link)?r("a",{class:"feature-item link",href:t.link,role:"navigation","aria-label":t.title,target:"_blank"},a):r(re,{class:"feature-item link",to:t.link,role:"navigation","aria-label":t.title},()=>a):r("div",{class:"feature-item"},a)})):null])}}),Ii=E({name:"HeroInfo",setup(e,{slots:t}){const a=C(),n=Me(),o=m(()=>a.value.heroText===!1?!1:a.value.heroText||n.value.title||"Hello"),l=m(()=>a.value.tagline===!1?!1:a.value.tagline||n.value.description||"Welcome to your VuePress site"),i=m(()=>a.value.heroImage?te(a.value.heroImage):null),s=m(()=>a.value.heroImageDark?te(a.value.heroImageDark):null),d=m(()=>a.value.heroAlt||o.value||"hero"),c=m(()=>a.value.actions??[]);return()=>{var u,v;return r("header",{class:"hero-info-wrapper"},[((u=t.heroImage)==null?void 0:u.call(t))||r(fe,{appear:!0,type:"group"},()=>[i.value?r("img",{key:"light",class:{light:s.value},src:i.value,alt:d.value}):null,s.value?r("img",{key:"dark",class:"dark",src:s.value,alt:d.value}):null]),((v=t.heroInfo)==null?void 0:v.call(t))||r("div",{class:"hero-info"},[o.value?r(fe,{appear:!0,delay:.04},()=>r("h1",{id:"main-title"},o.value)):null,l.value?r(fe,{appear:!0,delay:.08},()=>r("p",{class:"description"},l.value)):null,c.value.length?r(fe,{appear:!0,delay:.12},()=>r("p",{class:"actions"},c.value.map(h=>r(j,{class:["action-button",h.type||"default"],config:h,noExternalLinkIcon:!0})))):null])])}}}),Pi=E({name:"HopePage",setup(e,{slots:t}){const a=Fe(),n=C(),o=m(()=>{const{features:l}=n.value;return Ce(l)?l.some(i=>!("items"in i))?[{items:l}]:l:[]});return()=>{var l,i,s;return r("main",{class:["home project",{pure:a.value}],id:"main-content","aria-labelledby":n.value.heroText===null?void 0:"main-title"},[(l=t.top)==null?void 0:l.call(t),r(Ii),o.value.map(({header:d="",items:c},u)=>r(fe,{appear:!0,delay:.16+u*.08},()=>r(Oi,{header:d,items:c}))),(i=t.center)==null?void 0:i.call(t),r(fe,{appear:!0,delay:.16+o.value.length*.08},()=>r(Ln)),(s=t.bottom)==null?void 0:s.call(t)])}}});const Si=(e,t)=>{const a=e.replace(t,"/").split("/"),n=[];let o=nt(t);return a.forEach((l,i)=>{i!==a.length-1?(o+=`${l}/`,n.push(o)):l!==""&&(o+=l,n.push(o))}),n};var Di=E({name:"BreadCrumb",setup(){const e=G(),t=D(),a=ae(),n=C(),o=$(),l=k([]),i=m(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&o.value.breadcrumb!==!1)&&l.value.length>1),s=m(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&o.value.breadcrumbIcon!==!1),d=()=>{const c=e.getRoutes(),u=Si(t.value.path,a.value).map(v=>{const h=c.find(f=>f.path===v);if(h){const{meta:f,path:w}=st(e,h.path),L=f[Z.shortTitle]||f[Z.title];if(L)return{title:L,icon:f[Z.icon],path:w}}return null}).filter(v=>v!==null);u.length>1&&(l.value=u)};return R(()=>{d(),I(()=>t.value.path,d)}),()=>r("nav",{class:["breadcrumb",{disable:!i.value}]},i.value?r("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},l.value.map((c,u)=>r("li",{class:{"is-active":l.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[r(re,{to:c.path,property:"item",typeof:"WebPage"},()=>[s.value?r(U,{icon:c.icon}):null,r("span",{property:"name"},c.title||"Unknown")]),r("meta",{property:"position",content:u+1})]))):[])}});const Yt=e=>e===!1?!1:F(e)?ge(e,!0):at(e)?e:null,Ze=(e,t,a)=>{const n=e.findIndex(o=>o.link===t);if(n!==-1){const o=e[n+a];return o!=null&&o.link?o:null}for(const o of e)if(o.children){const l=Ze(o.children,t,a);if(l)return l}return null};var $i=E({name:"PageNav",setup(){const e=$(),t=C(),a=_t(),n=D(),o=zl(),l=m(()=>{const s=Yt(t.value.prev);return s===!1?null:s||(e.value.prevLink===!1?null:Ze(a.value,n.value.path,-1))}),i=m(()=>{const s=Yt(t.value.next);return s===!1?null:s||(e.value.nextLink===!1?null:Ze(a.value,n.value.path,1))});return N("keydown",s=>{s.altKey&&(s.key==="ArrowRight"?i.value&&(o(i.value.link),s.preventDefault()):s.key==="ArrowLeft"&&l.value&&(o(l.value.link),s.preventDefault()))}),()=>l.value||i.value?r("nav",{class:"page-nav"},[l.value?r(j,{class:"prev",config:l.value},()=>{var s,d;return[r("div",{class:"hint"},[r("span",{class:"arrow start"}),e.value.metaLocales.prev]),r("div",{class:"link"},[r(U,{icon:(s=l.value)==null?void 0:s.icon}),(d=l.value)==null?void 0:d.text])]}):null,i.value?r(j,{class:"next",config:i.value},()=>{var s,d;return[r("div",{class:"hint"},[e.value.metaLocales.next,r("span",{class:"arrow end"})]),r("div",{class:"link"},[(s=i.value)==null?void 0:s.text,r(U,{icon:(d=i.value)==null?void 0:d.icon})])]}):null]):null}});const Ri={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"},xi=({docsRepo:e,docsBranch:t,docsDir:a,filePathRelative:n,editLinkPattern:o})=>{if(!n)return null;const l=Ca(e);let i;return o?i=o:l!==null&&(i=Ri[l]),i?i.replace(/:repo/,ke(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,sa(`${nt(a)}/${n}`)):null},Ci=()=>{const e=$(),t=D(),a=C();return m(()=>{const{repo:n,docsRepo:o=n,docsBranch:l="main",docsDir:i="",editLink:s,editLinkPattern:d=""}=e.value;if(!(a.value.editLink??s??!0)||!o)return null;const c=xi({docsRepo:o,docsBranch:l,docsDir:i,editLinkPattern:d,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},zi=()=>{const e=Me(),t=$(),a=D(),n=C();return m(()=>{var o,l;return!(n.value.lastUpdated??t.value.lastUpdated??!0)||!((o=a.value.git)!=null&&o.updatedTime)?null:new Date((l=a.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},Vi=()=>{const e=$(),t=D(),a=C();return m(()=>{var n;return a.value.contributors??e.value.contributors??!0?((n=t.value.git)==null?void 0:n.contributors)??null:null})};var Ni=E({name:"PageTitle",setup(){const e=D(),t=C(),a=$(),{info:n,items:o}=Bl();return()=>r("div",{class:"page-title"},[r("h1",[a.value.titleIcon===!1?null:r(U,{icon:t.value.icon}),e.value.title]),r(wi,{info:n.value,...o.value===null?{}:{items:o.value}}),r("hr")])}});const zn=()=>r(x,{name:"edit"},()=>[r("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"}),r("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"})]);zn.displayName="EditIcon";var Mi=E({name:"PageMeta",setup(){const e=$(),t=Ci(),a=zi(),n=Vi();return()=>{const{metaLocales:o}=e.value;return r("footer",{class:"page-meta"},[t.value?r("div",{class:"meta-item edit-link"},r(j,{class:"label",config:t.value},{before:()=>r(zn)})):null,r("div",{class:"meta-item git-info"},[a.value?r("div",{class:"update-time"},[r("span",{class:"label"},`${o.lastUpdated}: `),r(Be,()=>r("span",{class:"info"},a.value))]):null,n.value&&n.value.length?r("div",{class:"contributors"},[r("span",{class:"label"},`${o.contributors}: `),n.value.map(({email:l,name:i},s)=>[r("span",{class:"contributor",title:`email: ${l}`},i),s!==n.value.length-1?",":""])]):null])])}}}),Bi=E({name:"NormalPage",setup(e,{slots:t}){const a=C(),n=D(),{isDarkmode:o}=Oe(),l=$(),i=m(()=>a.value.toc||a.value.toc!==!1&&l.value.toc!==!1);return()=>r("main",{class:"page",id:"main-content"},r(Y("LocalEncrypt")?q("LocalEncrypt"):ka,()=>{var s,d,c,u;return[(s=t.top)==null?void 0:s.call(t),a.value.cover?r("img",{class:"page-cover",src:a.value.cover,alt:n.value.title,"no-view":""}):null,r(Di),r(Ni),i.value?r(Li,{headerDepth:a.value.headerDepth??l.value.headerDepth??2},{before:()=>{var v;return(v=t.tocBefore)==null?void 0:v.call(t)},after:()=>{var v;return(v=t.tocAfter)==null?void 0:v.call(t)}}):null,(d=t.contentBefore)==null?void 0:d.call(t),r(Ln),(c=t.contentAfter)==null?void 0:c.call(t),r(Mi),r($i),Y("CommentService")?r(q("CommentService"),{darkmode:o.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),Fi=E({name:"Layout",setup(){$();const e=D(),t=C(),{isMobile:a}=He(),n=m(()=>"none");return()=>[r(xn),r(kn,{},{default:()=>t.value.home?r(Pi):r(Ai,()=>r(Bi,{key:e.value.path})),...n.value!=="none"?{navScreenBottom:()=>r(q("BloggerInfo"))}:{},...!a.value&&n.value==="always"?{sidebar:()=>r(q("BloggerInfo"))}:{}})]}}),Hi=E({name:"NotFoundHint",setup(){const e=$(),t=()=>{const a=e.value.routeLocales.notFoundMsg;return a[Math.floor(Math.random()*a.length)]};return()=>r("div",{class:"not-found-hint"},[r("p",{class:"error-code"},"404"),r("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),r("p",{class:"error-hint"},t())])}}),ji=E({name:"NotFound",setup(e,{slots:t}){const a=ae(),n=$(),{navigate:o}=Jn({to:n.value.home??a.value});return()=>[r(xn),r(kn,{noSidebar:!0},()=>{var l;return r("main",{class:"page not-found",id:"main-content"},((l=t.default)==null?void 0:l.call(t))||[r(Hi),r("div",{class:"actions"},[r("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},n.value.routeLocales.back),r("button",{type:"button",class:"action-button",onClick:()=>o()},n.value.routeLocales.home)])])})]}});const qi=H({enhance:({app:e,router:t})=>{const{scrollBehavior:a}=t.options;t.options.scrollBehavior=async(...n)=>(await Cn().wait(),a(...n)),Fl(e),e.component("HopeIcon",U)},setup:()=>{Hl(),Ul()},layouts:{Layout:Fi,NotFound:ji}});var Jt;const Vn=typeof window<"u",Wi=e=>typeof e=="string",Ui=()=>{};Vn&&((Jt=window==null?void 0:window.navigator)!=null&&Jt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Nn(e){return typeof e=="function"?e():me(e)}function Gi(e){return e}function Ki(e){return ca()?(ua(e),!0):!1}function Qi(e){var t;const a=Nn(e);return(t=a==null?void 0:a.$el)!=null?t:a}const Yi=Vn?window:void 0;function Ji(...e){let t,a,n,o;if(Wi(e[0])||Array.isArray(e[0])?([a,n,o]=e,t=Yi):[t,a,n,o]=e,!t)return Ui;Array.isArray(a)||(a=[a]),Array.isArray(n)||(n=[n]);const l=[],i=()=>{l.forEach(u=>u()),l.length=0},s=(u,v,h,f)=>(u.addEventListener(v,h,f),()=>u.removeEventListener(v,h,f)),d=I(()=>[Qi(t),Nn(o)],([u,v])=>{i(),u&&l.push(...a.flatMap(h=>n.map(f=>s(u,h,f,v))))},{immediate:!0,flush:"post"}),c=()=>{d(),i()};return Ki(c),c}const Xt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Zt="__vueuse_ssr_handlers__";Xt[Zt]=Xt[Zt]||{};var ea;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(ea||(ea={}));var Xi=Object.defineProperty,ta=Object.getOwnPropertySymbols,Zi=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,aa=(e,t,a)=>t in e?Xi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ts=(e,t)=>{for(var a in t||(t={}))Zi.call(t,a)&&aa(e,a,t[a]);if(ta)for(var a of ta(t))es.call(t,a)&&aa(e,a,t[a]);return e};const as={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};ts({linear:Gi},as);const ns=e=>{const t=Ji("keydown",a=>{a.key==="k"&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),e(),t())})},os=e=>e.button===1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey,rs=()=>{const e=G();return{hitComponent:({hit:t,children:a})=>({type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:t.url,onClick:n=>{os(n)||(n.preventDefault(),e.push(yt(t.url,"/")))},children:a},__v:null}),navigator:{navigate:({itemUrl:t})=>{e.push(yt(t,"/"))}},transformSearchClient:t=>{const a=qa(t.search,500);return{...t,search:async(...n)=>a(...n)}}}},ls=(e=[],t)=>[`lang:${t}`,...Ce(e)?e:[e]],is=({buttonText:e="Search",buttonAriaLabel:t=e}={})=>``,ss=16,Mn=()=>{if(document.querySelector(".DocSearch-Modal"))return;const e=new Event("keydown");e.key="k",e.metaKey=!0,window.dispatchEvent(e),setTimeout(Mn,ss)},cs=e=>{const t="algolia-preconnect";(window.requestIdleCallback||setTimeout)(()=>{if(document.head.querySelector(`#${t}`))return;const n=document.createElement("link");n.id=t,n.rel="preconnect",n.href=`https://${e}-dsn.algolia.net`,n.crossOrigin="",document.head.appendChild(n)})},us={appId:"28CTGDOOQD",apiKey:"72d7a9a0f9f0466218ea19988886dce8",indexName:"hutao",locales:{"/zh/":{placeholder:"搜索文档",translations:{button:{buttonText:"搜索文档",buttonAriaLabel:"搜索文档"},modal:{searchBox:{resetButtonTitle:"清除查询条件",resetButtonAriaLabel:"清除查询条件",cancelButtonText:"取消",cancelButtonAriaLabel:"取消"},startScreen:{recentSearchesTitle:"搜索历史",noRecentSearchesText:"没有搜索历史",saveRecentSearchButtonTitle:"保存至搜索历史",removeRecentSearchButtonTitle:"从搜索历史中移除",favoriteSearchesTitle:"收藏",removeFavoriteSearchButtonTitle:"从收藏中移除"},errorScreen:{titleText:"无法获取结果",helpText:"你可能需要检查你的网络连接"},footer:{selectText:"选择",navigateText:"切换",closeText:"关闭",searchByText:"搜索提供者"},noResultsScreen:{noResultsText:"无法找到相关结果",suggestedQueryText:"你可以尝试查询",reportMissingResultsText:"你认为该查询应该有结果?",reportMissingResultsLinkText:"点击反馈"}}}},"/en/":{placeholder:"Search documents",translations:{button:{buttonText:"Search documents"}}}}};p(()=>import("./style-e9220a04.js"),[]),p(()=>import("./docsearch-1d421ddb.js"),[]);const ds=E({name:"Docsearch",props:{containerId:{type:String,required:!1,default:"docsearch-container"},options:{type:Object,required:!1,default:()=>us}},setup(e){const t=rs(),a=Ne(),n=ae(),o=k(!1),l=k(!1),i=m(()=>{var c;return{...e.options,...(c=e.options.locales)==null?void 0:c[n.value]}}),s=async()=>{var u;const{default:c}=await p(()=>import("./index-ade63bb5.js"),[]);c({...t,...i.value,container:`#${e.containerId}`,searchParameters:{...i.value.searchParameters,facetFilters:ls((u=i.value.searchParameters)==null?void 0:u.facetFilters,a.value)}}),o.value=!0},d=()=>{l.value||o.value||(l.value=!0,s(),Mn(),I(n,s))};return ns(d),R(()=>cs(i.value.appId)),()=>{var c;return[r("div",{id:e.containerId,style:{display:o.value?"block":"none"}}),o.value?null:r("div",{onClick:d,innerHTML:is((c=i.value.translations)==null?void 0:c.button)})]}}}),vs=H({enhance({app:e}){e.component("Docsearch",ds)}}),ps=e=>{if(window.dataLayer&&window.gtag)return;const t=document.createElement("script");t.src=`https://www.googletagmanager.com/gtag/js?id=${e.id}`,t.async=!0,document.head.appendChild(t),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),e.debug?gtag("config",e.id,{debug_mode:!0}):gtag("config",e.id)},ms={id:"G-F3LFJCE3RM"},hs=H({enhance(){ps(ms)}});const Bn={autoLocale:!0,switchLocale:"modal",localeConfig:{0:["/en/",["en-US","en-UK","en"]],1:["/zh/",["zh-CN","zh-TW","zh"]],"/zh/":["zh-CN"],"/en/":["en-US"]},defaultLocale:"/en/",localeFallback:!0,defaultBehavior:"defaultLocale"},na=rt(Bn.localeConfig),oa={"/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:ra}=Bn,la=wr("VUEPRESS_REDIRECT_LOCALES",{});var fs=E({name:"LanguageSwitch",setup(){const e=br(),t=K(),a=G(),n=ae(),o=k(!1),l=m(()=>{if(na.some(([c])=>n.value===c)){for(const c of e.value)for(const[u,v]of na)if(v.includes(c))return u===n.value?null:{lang:c,localePath:u}}return null}),i=m(()=>{if(l.value){const{lang:c,localePath:u}=l.value,v=[oa[n.value],oa[u]];return{hint:v.map(({hint:h})=>h.replace("$1",c)),switch:v.map(({switch:h})=>h.replace("$1",c)).join(" / "),cancel:v.map(({cancel:h})=>h).join(" / ")}}return null}),s=m(()=>l.value?t.path.replace(n.value,l.value.localePath):null),d=()=>{la.value[n.value]=!0,o.value=!1};return R(()=>{const c=mt(document.body);la.value[n.value]||(l.value?ra==="direct"?a.replace(s.value):ra==="modal"?o.value=!0:o.value=!1:o.value=!1),I(o,u=>{c.value=u},{immediate:!0}),Ve(()=>{c.value=!1})}),()=>o.value?r(da,{name:"lang-modal-fade"},()=>{var c,u,v;return o.value?[r("div",{key:"mask",class:"lang-modal-mask"}),r("div",{key:"popup",class:"lang-modal-wrapper"},[r("div",{class:"lang-modal-content"},(c=i.value)==null?void 0:c.hint.map(h=>r("p",h))),r("button",{type:"button",class:"lang-modal-action primary",onClick:()=>{d(),a.replace(s.value)}},(u=i.value)==null?void 0:u.switch),r("button",{type:"button",class:"lang-modal-action",onClick:()=>d()},(v=i.value)==null?void 0:v.cancel)])]:[]}):null}}),gs=H({setup(){},rootComponents:[fs]});const $e=[fo,Dr,Vr,Mr,Hr,Ur,Jr,il,ml,fl,Ll,Dl,qi,vs,hs,gs],_s=[["v-2d0a870d","/en/",{y:"h",t:"Home",i:"home"},["/en/index.html","/en/README.md"]],["v-082946dd","/en/community.html",{y:"a",t:"Join Community"},["/en/community","/en/community.md"]],["v-038e810e","/en/i18n.html",{y:"a",t:"Localization"},["/en/i18n","/en/i18n.md"]],["v-586858ed","/en/project.html",{y:"a",t:"Project"},["/en/project","/en/project.md"]],["v-0c01f6a4","/en/quick-start.html",{y:"a",t:"Quick Start"},["/en/quick-start","/en/quick-start.md"]],["v-23b9870a","/en/side-load.html",{y:"a",t:""},["/en/side-load","/en/side-load.md"]],["v-7d29d7d8","/en/star-request.html",{y:"a",t:""},["/en/star-request","/en/star-request.md"]],["v-2d0ad528","/zh/",{y:"h",t:"首页",i:"home"},["/zh/index.html","/zh/README.md"]],["v-5cad49b8","/zh/community.html",{y:"a",t:"加入用户社区"},["/zh/community","/zh/community.md"]],["v-27c4e153","/zh/i18n.html",{y:"a",t:"国际化支持"},["/zh/i18n","/zh/i18n.md"]],["v-6c355688","/zh/project.html",{y:"a",t:"项目说明"},["/zh/project","/zh/project.md"]],["v-4f90aebf","/zh/quick-start.html",{y:"a",t:"快速开始"},["/zh/quick-start","/zh/quick-start.md"]],["v-783d89e5","/zh/side-load.html",{y:"a",t:""},["/zh/side-load","/zh/side-load.md"]],["v-a91bb9c6","/zh/star-request.html",{y:"a",t:""},["/zh/star-request","/zh/star-request.md"]],["v-1bd4ef83","/en/advanced/FAQ.html",{y:"a",t:"FAQ",i:"ask",O:1},["/en/advanced/FAQ","/en/advanced/FAQ.md"]],["v-5c3f740a","/en/advanced/Gacha-system-and-export-principal.html",{y:"a",t:"祈愿系统与导出原理",i:"read",O:7},["/en/advanced/Gacha-system-and-export-principal","/en/advanced/Gacha-system-and-export-principal.md"]],["v-5f449840","/en/advanced/",{y:"a",t:"Advanced",I:0},["/en/advanced/index.html","/en/advanced/README.md"]],["v-1a028d16","/en/advanced/exceptions.html",{y:"a",t:"Common Program Exceptions",i:"debug",O:2},["/en/advanced/exceptions","/en/advanced/exceptions.md"]],["v-bd668802","/en/advanced/get-stoken-cookie-from-the-third-party.html",{y:"a",t:"使用第三方工具获取有 Stoken 的 cookie",i:"read",O:6},["/en/advanced/get-stoken-cookie-from-the-third-party","/en/advanced/get-stoken-cookie-from-the-third-party.md"]],["v-51647c4a","/en/advanced/known-issue.html",{y:"a",t:"Known Issue",i:"tool",O:3},["/en/advanced/known-issue","/en/advanced/known-issue.md"]],["v-031e5d68","/en/advanced/mihoyo-risk-tip.html",{y:"a",t:"Account Risk Warning from MiHoYo BBS",i:"warn",O:4},["/en/advanced/mihoyo-risk-tip","/en/advanced/mihoyo-risk-tip.md"]],["v-bbae7dd2","/en/advanced/uninstall.html",{y:"a",t:"Uninstall Snap Hutao",i:"delete",O:8},["/en/advanced/uninstall","/en/advanced/uninstall.md"]],["v-30f089b6","/en/features/",{y:"a",t:"Features",I:0},["/en/features/index.html","/en/features/README.md"]],["v-699a13b0","/en/features/achievements.html",{y:"a",t:"Achievement Management",O:3},["/en/features/achievements","/en/features/achievements.md"]],["v-f3692af4","/en/features/character-data.html",{y:"a",t:"My Characters",O:5},["/en/features/character-data","/en/features/character-data.md"]],["v-10108380","/en/features/character-wiki.html",{y:"a",t:"Character WIKI",O:8},["/en/features/character-wiki","/en/features/character-wiki.md"]],["v-83f6294a","/en/features/develop-plan.html",{y:"a",t:"Development Plan",O:7},["/en/features/develop-plan","/en/features/develop-plan.md"]],["v-7839fe83","/en/features/game-launcher.html",{y:"a",t:"Game Launcher",O:1},["/en/features/game-launcher","/en/features/game-launcher.md"]],["v-0106e0dc","/en/features/hutao-API.html",{y:"a",t:"Hutao Database / Abyss Record",O:6},["/en/features/hutao-API","/en/features/hutao-API.md"]],["v-639b3ef9","/en/features/hutao-settings.html",{y:"a",t:"Software Settings",O:11},["/en/features/hutao-settings","/en/features/hutao-settings.md"]],["v-03aaffb1","/en/features/mhy-account-switch.html",{y:"a",t:"MiHoYo BBS Account Switch",O:10},["/en/features/mhy-account-switch","/en/features/mhy-account-switch.md"]],["v-124743a4","/en/features/real-time-notes.html",{y:"a",t:"Real-time Notes",O:4},["/en/features/real-time-notes","/en/features/real-time-notes.md"]],["v-e30b3c46","/en/features/weapon-wiki.html",{y:"a",t:"Weapon WIKI",O:9},["/en/features/weapon-wiki","/en/features/weapon-wiki.md"]],["v-b8e3a2b8","/en/features/wish-export.html",{y:"a",t:"Wish History",O:2},["/en/features/wish-export","/en/features/wish-export.md"]],["v-a4f9d2c4","/en/statements/",{y:"a",t:"Statements",I:0},["/en/statements/index.html","/en/statements/README.md"]],["v-45ceb024","/en/statements/bug-report.html",{y:"a",t:"Submit Bug Report",i:"debug",O:2},["/en/statements/bug-report","/en/statements/bug-report.md"]],["v-b4085a44","/en/statements/privacy-notice.html",{y:"a",t:"User Data and Privacy Notice",i:"license",O:3},["/en/statements/privacy-notice","/en/statements/privacy-notice.md"]],["v-b1c7a1c2","/en/statements/tos.html",{y:"a",t:"User Agreement and Legal Disclaime",i:"license",O:4},["/en/statements/tos","/en/statements/tos.md"]],["v-52f43e3b","/en/statements/update-log.html",{y:"a",t:"Update Logs",i:"update",O:1},["/en/statements/update-log","/en/statements/update-log.md"]],["v-4a1d3ac8","/zh/advanced/FAQ.html",{y:"a",t:"常见问题",i:"ask",O:1},["/zh/advanced/FAQ","/zh/advanced/FAQ.md"]],["v-b0dd6b00","/zh/advanced/Gacha-system-and-export-principal.html",{y:"a",t:"祈愿系统与导出原理",i:"read",O:7},["/zh/advanced/Gacha-system-and-export-principal","/zh/advanced/Gacha-system-and-export-principal.md"]],["v-16d7d7b6","/zh/advanced/",{y:"a",t:"高级",I:0},["/zh/advanced/index.html","/zh/advanced/README.md"]],["v-c8e5b2e0","/zh/advanced/exceptions.html",{y:"a",t:"常见的程序异常",i:"debug",O:2},["/zh/advanced/exceptions","/zh/advanced/exceptions.md"]],["v-6892c29a","/zh/advanced/get-stoken-cookie-from-the-third-party.html",{y:"a",t:"使用第三方工具获取有 Stoken 的 cookie",i:"read",O:6},["/zh/advanced/get-stoken-cookie-from-the-third-party","/zh/advanced/get-stoken-cookie-from-the-third-party.md"]],["v-8ab89ae2","/zh/advanced/known-issue.html",{y:"a",t:"已知问题",i:"tool",O:3},["/zh/advanced/known-issue","/zh/advanced/known-issue.md"]],["v-9cc22da6","/zh/advanced/mihoyo-risk-tip.html",{y:"a",t:"账号风险及异常提示",i:"warn",O:4},["/zh/advanced/mihoyo-risk-tip","/zh/advanced/mihoyo-risk-tip.md"]],["v-a04a76c8","/zh/advanced/uninstall.html",{y:"a",t:"卸载胡桃工具箱",i:"delete",O:8},["/zh/advanced/uninstall","/zh/advanced/uninstall.md"]],["v-db2a9d92","/zh/development-log/symposium1.html",{y:"a",t:"第一期开发组座谈会"},["/zh/development-log/symposium1","/zh/development-log/symposium1.md"]],["v-d7c0ec54","/zh/development-log/symposium2.html",{y:"a",t:"第二期开发组座谈会"},["/zh/development-log/symposium2","/zh/development-log/symposium2.md"]],["v-0bbe1b6a","/zh/features/",{y:"a",t:"功能指南",I:0},["/zh/features/index.html","/zh/features/README.md"]],["v-2841a60b","/zh/features/achievements.html",{y:"a",t:"成就管理",O:3},["/zh/features/achievements","/zh/features/achievements.md"]],["v-3957d221","/zh/features/character-data.html",{y:"a",t:"属性统计",O:5},["/zh/features/character-data","/zh/features/character-data.md"]],["v-a9f7b44a","/zh/features/character-wiki.html",{y:"a",t:"角色资料",O:8},["/zh/features/character-wiki","/zh/features/character-wiki.md"]],["v-7cac7db6","/zh/features/develop-plan.html",{y:"a",t:"养成计划",O:7},["/zh/features/develop-plan","/zh/features/develop-plan.md"]],["v-e2f690f0","/zh/features/game-launcher.html",{y:"a",t:"高级启动器",O:1},["/zh/features/game-launcher","/zh/features/game-launcher.md"]],["v-0eb8e461","/zh/features/hutao-API.html",{y:"a",t:"胡桃数据库/深渊统计",O:6},["/zh/features/hutao-API","/zh/features/hutao-API.md"]],["v-16a7a694","/zh/features/hutao-settings.html",{y:"a",t:"软件设置",O:11},["/zh/features/hutao-settings","/zh/features/hutao-settings.md"]],["v-04b421cc","/zh/features/mhy-account-switch.html",{y:"a",t:"米游社多帐号切换",O:10},["/zh/features/mhy-account-switch","/zh/features/mhy-account-switch.md"]],["v-b5462c1a","/zh/features/real-time-notes.html",{y:"a",t:"实时便笺",O:4},["/zh/features/real-time-notes","/zh/features/real-time-notes.md"]],["v-108ccfbc","/zh/features/weapon-wiki.html",{y:"a",t:"武器资料",O:9},["/zh/features/weapon-wiki","/zh/features/weapon-wiki.md"]],["v-0ccd64e9","/zh/features/wish-export.html",{y:"a",t:"祈愿记录",O:2},["/zh/features/wish-export","/zh/features/wish-export.md"]],["v-c4bb0cba","/zh/statements/",{y:"a",t:"声明和公告",I:0},["/zh/statements/index.html","/zh/statements/README.md"]],["v-c87f8b6e","/zh/statements/bug-report.html",{y:"a",t:"提交 BUG 报告",i:"debug",O:2},["/zh/statements/bug-report","/zh/statements/bug-report.md"]],["v-70e6808e","/zh/statements/privacy-notice.html",{y:"a",t:"用户数据和隐私权益",i:"license",O:3},["/zh/statements/privacy-notice","/zh/statements/privacy-notice.md"]],["v-647ebd24","/zh/statements/tos.html",{y:"a",t:"用户使用协议和法律声明",i:"license",O:4},["/zh/statements/tos","/zh/statements/tos.md"]],["v-119bd096","/zh/statements/update-log.html",{y:"a",t:"更新日志",i:"update",O:1},["/zh/statements/update-log","/zh/statements/update-log.md"]],["v-3706649a","/404.html",{y:"p",t:""},["/404"]],["v-42f24836","/zh/development-log/",{y:"p",t:"Development Log"},["/zh/development-log/index.html"]],["v-8daa1a0e","/",{y:"p",t:"Home"},["/index.html"]]];var ia=E({name:"Vuepress",setup(){const e=vo();return()=>r(e.value)}}),bs=()=>_s.reduce((e,[t,a,n,o])=>(e.push({name:t,path:a,component:ia,meta:n},...o.map(l=>({path:l,redirect:a}))),e),[{name:"404",path:"/:catchAll(.*)",component:ia}]),ys=to,ws=()=>{const e=Xn({history:ys(nt("/")),routes:bs(),scrollBehavior:(t,a,n)=>n||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,a)=>{var n;(t.path!==a.path||a===Zn)&&([oe.value]=await Promise.all([X.resolvePageData(t.name),(n=pa[t.name])==null?void 0:n.__asyncLoader()]))}),e},Es=e=>{e.component("ClientOnly",Be),e.component("Content",wa)},ks=(e,t,a)=>{const n=k(t.currentRoute.value.path);I(()=>t.currentRoute.value.path,h=>n.value=h);const o=m(()=>X.resolveLayouts(a)),l=m(()=>X.resolveRouteLocale(he.value.locales,n.value)),i=m(()=>X.resolveSiteLocaleData(he.value,l.value)),s=m(()=>X.resolvePageFrontmatter(oe.value)),d=m(()=>X.resolvePageHeadTitle(oe.value,i.value)),c=m(()=>X.resolvePageHead(d.value,s.value,i.value)),u=m(()=>X.resolvePageLang(oe.value)),v=m(()=>X.resolvePageLayout(oe.value,o.value));return e.provide(io,o),e.provide(ha,s),e.provide(uo,d),e.provide(fa,c),e.provide(ga,u),e.provide(_a,v),e.provide(ot,l),e.provide(ya,i),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>s.value},$head:{get:()=>c.value},$headTitle:{get:()=>d.value},$lang:{get:()=>u.value},$page:{get:()=>oe.value},$routeLocale:{get:()=>l.value},$site:{get:()=>he.value},$siteLocale:{get:()=>i.value},$withBase:{get:()=>te}}),{layouts:o,pageData:oe,pageFrontmatter:s,pageHead:c,pageHeadTitle:d,pageLang:u,pageLayout:v,routeLocale:l,siteData:he,siteLocaleData:i}},Ls=()=>{const e=co(),t=Ne(),a=k([]),n=()=>{e.value.forEach(l=>{const i=Ts(l);i&&a.value.push(i)})},o=()=>{document.documentElement.lang=t.value,a.value.forEach(l=>{l.parentNode===document.head&&document.head.removeChild(l)}),a.value.splice(0,a.value.length),e.value.forEach(l=>{const i=As(l);i!==null&&(document.head.appendChild(i),a.value.push(i))})};tt(po,o),R(()=>{n(),o(),I(()=>e.value,()=>o())})},Ts=([e,t,a=""])=>{const n=Object.entries(t).map(([s,d])=>F(d)?`[${s}=${JSON.stringify(d)}]`:d===!0?`[${s}]`:"").join(""),o=`head > ${e}${n}`;return Array.from(document.querySelectorAll(o)).find(s=>s.innerText===a)||null},As=([e,t,a])=>{if(!F(e))return null;const n=document.createElement(e);return at(t)&&Object.entries(t).forEach(([o,l])=>{F(l)?n.setAttribute(o,l):l===!0&&n.setAttribute(o,"")}),F(a)&&n.appendChild(document.createTextNode(a)),n},Os=eo,Is=async()=>{var a;const e=Os({name:"VuepressApp",setup(){var n;Ls();for(const o of $e)(n=o.setup)==null||n.call(o);return()=>[r(ao),...$e.flatMap(({rootComponents:o=[]})=>o.map(l=>r(l)))]}}),t=ws();Es(e),ks(e,t,$e);for(const n of $e)await((a=n.enhance)==null?void 0:a.call(n,{app:e,router:t,siteData:he}));return e.use(t),{app:e,router:t}};Is().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Ds as a,kr as b,$s as c,Is as createVueApp,Ss as d,vt as u}; diff --git a/assets/app-fbca0aa6.js b/assets/app-fbca0aa6.js new file mode 100644 index 000000000..78adeb7c7 --- /dev/null +++ b/assets/app-fbca0aa6.js @@ -0,0 +1,5 @@ +import{d as b,r as k,a as be,b as Fn,c as E,i as F,e as ze,f as Hn,g as jn,o as R,h as m,j as r,k as ke,l as sa,m as J,n as Le,p as bt,q as qn,u as me,s as et,t as Ce,v as Wn,w as Te,x as I,y as Ve,z as ca,A as ua,B as Un,C as Gn,T as se,D as G,E as Kn,R as re,F as q,G as tt,H as K,I as da,J as va,K as Qn,L as Re,M as at,N as Yn,O as Jn,P as nt,Q as yt,S as Xn,U as Zn,V as eo,W as to,X as ao}from"./framework-8be3ab77.js";const no="modulepreload",oo=function(e){return"/"+e},wt={},p=function(t,a,n){if(!a||a.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(a.map(l=>{if(l=oo(l),l in wt)return;wt[l]=!0;const i=l.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(!!n)for(let u=o.length-1;u>=0;u--){const v=o[u];if(v.href===l&&(!i||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${s}`))return;const c=document.createElement("link");if(c.rel=i?"stylesheet":no,i||(c.as="script",c.crossOrigin=""),c.href=l,document.head.appendChild(c),i)return new Promise((u,v)=>{c.addEventListener("load",u),c.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t())},ro={"v-2d0a870d":()=>p(()=>import("./index.html-14e051e6.js"),[]).then(({data:e})=>e),"v-082946dd":()=>p(()=>import("./community.html-68bafb48.js"),[]).then(({data:e})=>e),"v-038e810e":()=>p(()=>import("./i18n.html-7bbd0925.js"),[]).then(({data:e})=>e),"v-586858ed":()=>p(()=>import("./project.html-62cdf008.js"),[]).then(({data:e})=>e),"v-0c01f6a4":()=>p(()=>import("./quick-start.html-3e8e5ad9.js"),[]).then(({data:e})=>e),"v-23b9870a":()=>p(()=>import("./side-load.html-e04e7234.js"),[]).then(({data:e})=>e),"v-7d29d7d8":()=>p(()=>import("./star-request.html-4cb88d32.js"),[]).then(({data:e})=>e),"v-2d0ad528":()=>p(()=>import("./index.html-8ce0ae99.js"),[]).then(({data:e})=>e),"v-5cad49b8":()=>p(()=>import("./community.html-91aa29f2.js"),[]).then(({data:e})=>e),"v-27c4e153":()=>p(()=>import("./i18n.html-1a20bdd4.js"),[]).then(({data:e})=>e),"v-6c355688":()=>p(()=>import("./project.html-2690409d.js"),[]).then(({data:e})=>e),"v-4f90aebf":()=>p(()=>import("./quick-start.html-0163de7e.js"),[]).then(({data:e})=>e),"v-783d89e5":()=>p(()=>import("./side-load.html-9cc44de3.js"),[]).then(({data:e})=>e),"v-a91bb9c6":()=>p(()=>import("./star-request.html-2ad37f25.js"),[]).then(({data:e})=>e),"v-1bd4ef83":()=>p(()=>import("./FAQ.html-d6fcc8da.js"),[]).then(({data:e})=>e),"v-5c3f740a":()=>p(()=>import("./Gacha-system-and-export-principal.html-cf17a2c3.js"),[]).then(({data:e})=>e),"v-5f449840":()=>p(()=>import("./index.html-63291408.js"),[]).then(({data:e})=>e),"v-1a028d16":()=>p(()=>import("./exceptions.html-076bd414.js"),[]).then(({data:e})=>e),"v-bd668802":()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-7c0dd482.js"),[]).then(({data:e})=>e),"v-51647c4a":()=>p(()=>import("./known-issue.html-7a510018.js"),[]).then(({data:e})=>e),"v-031e5d68":()=>p(()=>import("./mihoyo-risk-tip.html-b7eaf9b5.js"),[]).then(({data:e})=>e),"v-bbae7dd2":()=>p(()=>import("./uninstall.html-e98d2832.js"),[]).then(({data:e})=>e),"v-30f089b6":()=>p(()=>import("./index.html-3f2e3060.js"),[]).then(({data:e})=>e),"v-699a13b0":()=>p(()=>import("./achievements.html-78ddcaf7.js"),[]).then(({data:e})=>e),"v-f3692af4":()=>p(()=>import("./character-data.html-60d2a792.js"),[]).then(({data:e})=>e),"v-10108380":()=>p(()=>import("./character-wiki.html-4470b662.js"),[]).then(({data:e})=>e),"v-83f6294a":()=>p(()=>import("./develop-plan.html-227c3b3d.js"),[]).then(({data:e})=>e),"v-7839fe83":()=>p(()=>import("./game-launcher.html-b96d3a85.js"),[]).then(({data:e})=>e),"v-0106e0dc":()=>p(()=>import("./hutao-API.html-1c0e0b3b.js"),[]).then(({data:e})=>e),"v-639b3ef9":()=>p(()=>import("./hutao-settings.html-502c2e74.js"),[]).then(({data:e})=>e),"v-03aaffb1":()=>p(()=>import("./mhy-account-switch.html-0c28a728.js"),[]).then(({data:e})=>e),"v-124743a4":()=>p(()=>import("./real-time-notes.html-7edaa452.js"),[]).then(({data:e})=>e),"v-e30b3c46":()=>p(()=>import("./weapon-wiki.html-fe328aeb.js"),[]).then(({data:e})=>e),"v-b8e3a2b8":()=>p(()=>import("./wish-export.html-2a78da4e.js"),[]).then(({data:e})=>e),"v-a4f9d2c4":()=>p(()=>import("./index.html-3e434e4b.js"),[]).then(({data:e})=>e),"v-45ceb024":()=>p(()=>import("./bug-report.html-be008402.js"),[]).then(({data:e})=>e),"v-b4085a44":()=>p(()=>import("./privacy-notice.html-43cfb1bb.js"),[]).then(({data:e})=>e),"v-b1c7a1c2":()=>p(()=>import("./tos.html-2697c794.js"),[]).then(({data:e})=>e),"v-52f43e3b":()=>p(()=>import("./update-log.html-dbd29439.js"),[]).then(({data:e})=>e),"v-4a1d3ac8":()=>p(()=>import("./FAQ.html-48211792.js"),[]).then(({data:e})=>e),"v-b0dd6b00":()=>p(()=>import("./Gacha-system-and-export-principal.html-35e3a9ed.js"),[]).then(({data:e})=>e),"v-16d7d7b6":()=>p(()=>import("./index.html-a5246ba5.js"),[]).then(({data:e})=>e),"v-c8e5b2e0":()=>p(()=>import("./exceptions.html-83d6729e.js"),[]).then(({data:e})=>e),"v-6892c29a":()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-a4274fa1.js"),[]).then(({data:e})=>e),"v-8ab89ae2":()=>p(()=>import("./known-issue.html-c04b711c.js"),[]).then(({data:e})=>e),"v-9cc22da6":()=>p(()=>import("./mihoyo-risk-tip.html-d5051ce5.js"),[]).then(({data:e})=>e),"v-a04a76c8":()=>p(()=>import("./uninstall.html-f3e75a7a.js"),[]).then(({data:e})=>e),"v-db2a9d92":()=>p(()=>import("./symposium1.html-c47ecab0.js"),[]).then(({data:e})=>e),"v-d7c0ec54":()=>p(()=>import("./symposium2.html-e492a642.js"),[]).then(({data:e})=>e),"v-0bbe1b6a":()=>p(()=>import("./index.html-b6121344.js"),[]).then(({data:e})=>e),"v-2841a60b":()=>p(()=>import("./achievements.html-50d91807.js"),[]).then(({data:e})=>e),"v-3957d221":()=>p(()=>import("./character-data.html-81f13ba6.js"),[]).then(({data:e})=>e),"v-a9f7b44a":()=>p(()=>import("./character-wiki.html-339c899e.js"),[]).then(({data:e})=>e),"v-1b6aa6a2":()=>p(()=>import("./dashboard.html-7e34add9.js"),[]).then(({data:e})=>e),"v-7cac7db6":()=>p(()=>import("./develop-plan.html-11e50b04.js"),[]).then(({data:e})=>e),"v-e2f690f0":()=>p(()=>import("./game-launcher.html-b635d67c.js"),[]).then(({data:e})=>e),"v-0eb8e461":()=>p(()=>import("./hutao-API.html-dcecab36.js"),[]).then(({data:e})=>e),"v-16a7a694":()=>p(()=>import("./hutao-settings.html-262ba592.js"),[]).then(({data:e})=>e),"v-04b421cc":()=>p(()=>import("./mhy-account-switch.html-3c818870.js"),[]).then(({data:e})=>e),"v-b5462c1a":()=>p(()=>import("./real-time-notes.html-33dada16.js"),[]).then(({data:e})=>e),"v-108ccfbc":()=>p(()=>import("./weapon-wiki.html-660adaba.js"),[]).then(({data:e})=>e),"v-0ccd64e9":()=>p(()=>import("./wish-export.html-d867b90a.js"),[]).then(({data:e})=>e),"v-c4bb0cba":()=>p(()=>import("./index.html-41be6e42.js"),[]).then(({data:e})=>e),"v-c87f8b6e":()=>p(()=>import("./bug-report.html-f0d519b1.js"),[]).then(({data:e})=>e),"v-70e6808e":()=>p(()=>import("./privacy-notice.html-50988b5a.js"),[]).then(({data:e})=>e),"v-647ebd24":()=>p(()=>import("./tos.html-09235935.js"),[]).then(({data:e})=>e),"v-119bd096":()=>p(()=>import("./update-log.html-6c4f7058.js"),[]).then(({data:e})=>e),"v-3706649a":()=>p(()=>import("./404.html-392add74.js"),[]).then(({data:e})=>e),"v-42f24836":()=>p(()=>import("./index.html-ec66f958.js"),[]).then(({data:e})=>e),"v-8daa1a0e":()=>p(()=>import("./index.html-ead0711a.js"),[]).then(({data:e})=>e)},lo=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["script",{"src":"https://umami.irain.in/script.js","data-website-id":"f586534f-1741-450e-a0f4-3c0189f993c9","async":"","defer":""}],["script",{"type":"module","src":"https://get.microsoft.com/badge/ms-store-badge.bundled.js"}],["link",{"rel":"icon","href":"/favicon.ico"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-512.png","type":"image/png","sizes":"512x512"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-192.png","type":"image/png","sizes":"192x192"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-144.png","type":"image/png","sizes":"144x144"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-72.png","type":"image/png","sizes":"72x72"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-96.png","type":"image/png","sizes":"96x96"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-48.png","type":"image/png","sizes":"48x48"}],["link",{"rel":"manifest","href":"/manifest.webmanifest","crossorigin":"use-credentials"}],["meta",{"name":"theme-color","content":"#f26d6d"}],["link",{"rel":"apple-touch-icon","href":"/favicon.ico"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["meta",{"name":"msapplication-TileImage","content":"/favicon.ico"}],["meta",{"name":"msapplication-TileColor","content":"#ffffff"}],["meta",{"name":"viewport","content":"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"}]],"locales":{"/zh/":{"lang":"zh-CN","title":"胡桃工具箱","description":"多功能的原神工具箱"},"/en/":{"lang":"en-US","title":"Snap Hutao","description":"Super utilitarian Genshin Impact Tool"}}}'),pa={"v-2d0a870d":b(()=>p(()=>import("./index.html-5ec33057.js"),["assets/index.html-5ec33057.js","assets/framework-8be3ab77.js"])),"v-082946dd":b(()=>p(()=>import("./community.html-7d1656aa.js"),["assets/community.html-7d1656aa.js","assets/framework-8be3ab77.js"])),"v-038e810e":b(()=>p(()=>import("./i18n.html-02184ed6.js"),["assets/i18n.html-02184ed6.js","assets/framework-8be3ab77.js"])),"v-586858ed":b(()=>p(()=>import("./project.html-0650083e.js"),["assets/project.html-0650083e.js","assets/framework-8be3ab77.js"])),"v-0c01f6a4":b(()=>p(()=>import("./quick-start.html-3134237b.js"),["assets/quick-start.html-3134237b.js","assets/framework-8be3ab77.js"])),"v-23b9870a":b(()=>p(()=>import("./side-load.html-b81bb7fe.js"),["assets/side-load.html-b81bb7fe.js","assets/framework-8be3ab77.js"])),"v-7d29d7d8":b(()=>p(()=>import("./star-request.html-3ff0f768.js"),["assets/star-request.html-3ff0f768.js","assets/framework-8be3ab77.js"])),"v-2d0ad528":b(()=>p(()=>import("./index.html-7d14f03a.js"),["assets/index.html-7d14f03a.js","assets/framework-8be3ab77.js"])),"v-5cad49b8":b(()=>p(()=>import("./community.html-c9f2d093.js"),["assets/community.html-c9f2d093.js","assets/framework-8be3ab77.js"])),"v-27c4e153":b(()=>p(()=>import("./i18n.html-ab40d114.js"),["assets/i18n.html-ab40d114.js","assets/framework-8be3ab77.js"])),"v-6c355688":b(()=>p(()=>import("./project.html-11af8d5b.js"),["assets/project.html-11af8d5b.js","assets/framework-8be3ab77.js"])),"v-4f90aebf":b(()=>p(()=>import("./quick-start.html-792ecbba.js"),["assets/quick-start.html-792ecbba.js","assets/framework-8be3ab77.js"])),"v-783d89e5":b(()=>p(()=>import("./side-load.html-33557d9b.js"),["assets/side-load.html-33557d9b.js","assets/framework-8be3ab77.js"])),"v-a91bb9c6":b(()=>p(()=>import("./star-request.html-8a203856.js"),["assets/star-request.html-8a203856.js","assets/framework-8be3ab77.js"])),"v-1bd4ef83":b(()=>p(()=>import("./FAQ.html-afb27c53.js"),["assets/FAQ.html-afb27c53.js","assets/framework-8be3ab77.js"])),"v-5c3f740a":b(()=>p(()=>import("./Gacha-system-and-export-principal.html-c568d3b7.js"),["assets/Gacha-system-and-export-principal.html-c568d3b7.js","assets/framework-8be3ab77.js"])),"v-5f449840":b(()=>p(()=>import("./index.html-fac48cef.js"),["assets/index.html-fac48cef.js","assets/framework-8be3ab77.js"])),"v-1a028d16":b(()=>p(()=>import("./exceptions.html-4ccb3608.js"),["assets/exceptions.html-4ccb3608.js","assets/framework-8be3ab77.js"])),"v-bd668802":b(()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-2e6e77d4.js"),["assets/get-stoken-cookie-from-the-third-party.html-2e6e77d4.js","assets/framework-8be3ab77.js"])),"v-51647c4a":b(()=>p(()=>import("./known-issue.html-9f007706.js"),["assets/known-issue.html-9f007706.js","assets/framework-8be3ab77.js"])),"v-031e5d68":b(()=>p(()=>import("./mihoyo-risk-tip.html-8580c65c.js"),["assets/mihoyo-risk-tip.html-8580c65c.js","assets/framework-8be3ab77.js"])),"v-bbae7dd2":b(()=>p(()=>import("./uninstall.html-6206b061.js"),["assets/uninstall.html-6206b061.js","assets/framework-8be3ab77.js"])),"v-30f089b6":b(()=>p(()=>import("./index.html-14e304a7.js"),["assets/index.html-14e304a7.js","assets/framework-8be3ab77.js"])),"v-699a13b0":b(()=>p(()=>import("./achievements.html-b4f0b9f3.js"),["assets/achievements.html-b4f0b9f3.js","assets/framework-8be3ab77.js"])),"v-f3692af4":b(()=>p(()=>import("./character-data.html-7d5d9071.js"),["assets/character-data.html-7d5d9071.js","assets/framework-8be3ab77.js"])),"v-10108380":b(()=>p(()=>import("./character-wiki.html-f5c241cf.js"),["assets/character-wiki.html-f5c241cf.js","assets/framework-8be3ab77.js"])),"v-83f6294a":b(()=>p(()=>import("./develop-plan.html-9211d237.js"),["assets/develop-plan.html-9211d237.js","assets/framework-8be3ab77.js"])),"v-7839fe83":b(()=>p(()=>import("./game-launcher.html-a366b7c3.js"),["assets/game-launcher.html-a366b7c3.js","assets/framework-8be3ab77.js"])),"v-0106e0dc":b(()=>p(()=>import("./hutao-API.html-649782e1.js"),["assets/hutao-API.html-649782e1.js","assets/framework-8be3ab77.js"])),"v-639b3ef9":b(()=>p(()=>import("./hutao-settings.html-0516ff4b.js"),["assets/hutao-settings.html-0516ff4b.js","assets/framework-8be3ab77.js"])),"v-03aaffb1":b(()=>p(()=>import("./mhy-account-switch.html-fa72bc8b.js"),["assets/mhy-account-switch.html-fa72bc8b.js","assets/framework-8be3ab77.js"])),"v-124743a4":b(()=>p(()=>import("./real-time-notes.html-99f16c8c.js"),["assets/real-time-notes.html-99f16c8c.js","assets/framework-8be3ab77.js"])),"v-e30b3c46":b(()=>p(()=>import("./weapon-wiki.html-1b6ec5a4.js"),["assets/weapon-wiki.html-1b6ec5a4.js","assets/framework-8be3ab77.js"])),"v-b8e3a2b8":b(()=>p(()=>import("./wish-export.html-93eff3a4.js"),["assets/wish-export.html-93eff3a4.js","assets/framework-8be3ab77.js"])),"v-a4f9d2c4":b(()=>p(()=>import("./index.html-88564790.js"),["assets/index.html-88564790.js","assets/framework-8be3ab77.js"])),"v-45ceb024":b(()=>p(()=>import("./bug-report.html-49b70aa7.js"),["assets/bug-report.html-49b70aa7.js","assets/framework-8be3ab77.js"])),"v-b4085a44":b(()=>p(()=>import("./privacy-notice.html-721aa8a3.js"),["assets/privacy-notice.html-721aa8a3.js","assets/framework-8be3ab77.js"])),"v-b1c7a1c2":b(()=>p(()=>import("./tos.html-4ccd710b.js"),["assets/tos.html-4ccd710b.js","assets/framework-8be3ab77.js"])),"v-52f43e3b":b(()=>p(()=>import("./update-log.html-c18237f6.js"),["assets/update-log.html-c18237f6.js","assets/framework-8be3ab77.js"])),"v-4a1d3ac8":b(()=>p(()=>import("./FAQ.html-4c824484.js"),["assets/FAQ.html-4c824484.js","assets/framework-8be3ab77.js"])),"v-b0dd6b00":b(()=>p(()=>import("./Gacha-system-and-export-principal.html-409f751b.js"),["assets/Gacha-system-and-export-principal.html-409f751b.js","assets/framework-8be3ab77.js"])),"v-16d7d7b6":b(()=>p(()=>import("./index.html-2b1921cb.js"),["assets/index.html-2b1921cb.js","assets/framework-8be3ab77.js"])),"v-c8e5b2e0":b(()=>p(()=>import("./exceptions.html-70309d5f.js"),["assets/exceptions.html-70309d5f.js","assets/framework-8be3ab77.js"])),"v-6892c29a":b(()=>p(()=>import("./get-stoken-cookie-from-the-third-party.html-3cca977e.js"),["assets/get-stoken-cookie-from-the-third-party.html-3cca977e.js","assets/framework-8be3ab77.js"])),"v-8ab89ae2":b(()=>p(()=>import("./known-issue.html-650238de.js"),["assets/known-issue.html-650238de.js","assets/framework-8be3ab77.js"])),"v-9cc22da6":b(()=>p(()=>import("./mihoyo-risk-tip.html-3363d750.js"),["assets/mihoyo-risk-tip.html-3363d750.js","assets/framework-8be3ab77.js"])),"v-a04a76c8":b(()=>p(()=>import("./uninstall.html-87cb053a.js"),["assets/uninstall.html-87cb053a.js","assets/framework-8be3ab77.js"])),"v-db2a9d92":b(()=>p(()=>import("./symposium1.html-a722d433.js"),["assets/symposium1.html-a722d433.js","assets/framework-8be3ab77.js"])),"v-d7c0ec54":b(()=>p(()=>import("./symposium2.html-4225d3ec.js"),["assets/symposium2.html-4225d3ec.js","assets/framework-8be3ab77.js"])),"v-0bbe1b6a":b(()=>p(()=>import("./index.html-316c8240.js"),["assets/index.html-316c8240.js","assets/framework-8be3ab77.js"])),"v-2841a60b":b(()=>p(()=>import("./achievements.html-2b4454b3.js"),["assets/achievements.html-2b4454b3.js","assets/framework-8be3ab77.js"])),"v-3957d221":b(()=>p(()=>import("./character-data.html-a55ab1ca.js"),["assets/character-data.html-a55ab1ca.js","assets/framework-8be3ab77.js"])),"v-a9f7b44a":b(()=>p(()=>import("./character-wiki.html-0486e3d4.js"),["assets/character-wiki.html-0486e3d4.js","assets/framework-8be3ab77.js"])),"v-1b6aa6a2":b(()=>p(()=>import("./dashboard.html-99ef1558.js"),["assets/dashboard.html-99ef1558.js","assets/framework-8be3ab77.js"])),"v-7cac7db6":b(()=>p(()=>import("./develop-plan.html-1bdb5891.js"),["assets/develop-plan.html-1bdb5891.js","assets/framework-8be3ab77.js"])),"v-e2f690f0":b(()=>p(()=>import("./game-launcher.html-b7313ab4.js"),["assets/game-launcher.html-b7313ab4.js","assets/framework-8be3ab77.js"])),"v-0eb8e461":b(()=>p(()=>import("./hutao-API.html-12fc0e97.js"),["assets/hutao-API.html-12fc0e97.js","assets/framework-8be3ab77.js"])),"v-16a7a694":b(()=>p(()=>import("./hutao-settings.html-9e8d000d.js"),["assets/hutao-settings.html-9e8d000d.js","assets/framework-8be3ab77.js"])),"v-04b421cc":b(()=>p(()=>import("./mhy-account-switch.html-8b9bc712.js"),["assets/mhy-account-switch.html-8b9bc712.js","assets/framework-8be3ab77.js"])),"v-b5462c1a":b(()=>p(()=>import("./real-time-notes.html-efc395e0.js"),["assets/real-time-notes.html-efc395e0.js","assets/framework-8be3ab77.js"])),"v-108ccfbc":b(()=>p(()=>import("./weapon-wiki.html-7adf8d60.js"),["assets/weapon-wiki.html-7adf8d60.js","assets/framework-8be3ab77.js"])),"v-0ccd64e9":b(()=>p(()=>import("./wish-export.html-fb21ac9f.js"),["assets/wish-export.html-fb21ac9f.js","assets/framework-8be3ab77.js"])),"v-c4bb0cba":b(()=>p(()=>import("./index.html-db394eaf.js"),["assets/index.html-db394eaf.js","assets/framework-8be3ab77.js"])),"v-c87f8b6e":b(()=>p(()=>import("./bug-report.html-da9c9af6.js"),["assets/bug-report.html-da9c9af6.js","assets/framework-8be3ab77.js"])),"v-70e6808e":b(()=>p(()=>import("./privacy-notice.html-2dde0de5.js"),["assets/privacy-notice.html-2dde0de5.js","assets/framework-8be3ab77.js"])),"v-647ebd24":b(()=>p(()=>import("./tos.html-d453e8d3.js"),["assets/tos.html-d453e8d3.js","assets/framework-8be3ab77.js"])),"v-119bd096":b(()=>p(()=>import("./update-log.html-91bcb145.js"),["assets/update-log.html-91bcb145.js","assets/framework-8be3ab77.js"])),"v-3706649a":b(()=>p(()=>import("./404.html-3152ea96.js"),["assets/404.html-3152ea96.js","assets/framework-8be3ab77.js"])),"v-42f24836":b(()=>p(()=>import("./index.html-d4b53319.js"),["assets/index.html-d4b53319.js","assets/framework-8be3ab77.js"])),"v-8daa1a0e":b(()=>p(()=>import("./index.html-8b0bd72f.js"),["assets/index.html-8b0bd72f.js","assets/framework-8be3ab77.js"]))};var io=Symbol(""),so=k(ro),ma=be({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),oe=k(ma),D=()=>oe,ha=Symbol(""),z=()=>{const e=J(ha);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},fa=Symbol(""),co=()=>{const e=J(fa);if(!e)throw new Error("usePageHead() is called without provider.");return e},uo=Symbol(""),ga=Symbol(""),Ne=()=>{const e=J(ga);if(!e)throw new Error("usePageLang() is called without provider.");return e},_a=Symbol(""),vo=()=>{const e=J(_a);if(!e)throw new Error("usePageLayout() is called without provider.");return e},ot=Symbol(""),ae=()=>{const e=J(ot);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},he=k(lo),ba=()=>he,ya=Symbol(""),Me=()=>{const e=J(ya);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},po=Symbol(""),mo="Layout",ho="NotFound",X=Fn({resolveLayouts:e=>e.reduce((t,a)=>({...t,...a.layouts}),{}),resolvePageData:async e=>{const t=so.value[e];return await(t==null?void 0:t())??ma},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,a)=>{const n=F(t.description)?t.description:a.description,o=[...ze(t.head)?t.head:[],...a.head,["title",{},e],["meta",{name:"description",content:n}]];return Hn(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(a=>!!a).join(" | "),resolvePageLang:e=>e.lang||"en",resolvePageLayout:(e,t)=>{let a;if(e.path){const n=e.frontmatter.layout;F(n)?a=n:a=mo}else a=ho;return t[a]},resolveRouteLocale:(e,t)=>jn(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),Be=E({name:"ClientOnly",setup(e,t){const a=k(!1);return R(()=>{a.value=!0}),()=>{var n,o;return a.value?(o=(n=t.slots).default)==null?void 0:o.call(n):null}}}),wa=E({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=D(),a=m(()=>pa[e.pageKey||t.value.key]);return()=>a.value?r(a.value):r("div","404 Not Found")}}),H=(e={})=>e,te=e=>ke(e)?e:`/${sa(e)}`;const fo={},x=({name:e="",color:t="currentColor"},{slots:a})=>{var n;return r("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(n=a.default)==null?void 0:n.call(a))};x.displayName="IconBase";const Ea=({size:e=48,stroke:t=4,wrapper:a=!0,height:n=2*e})=>{const o=r("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[r("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),r("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[r("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),r("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return a?r("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${n}px`},o):o};Ea.displayName="LoadingIcon";const ka=(e,{slots:t})=>{var a;return((a=t.default)==null?void 0:a.call(t))||null},La=()=>r(x,{name:"github"},()=>r("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"}));La.displayName="GitHubIcon";const Ta=()=>r(x,{name:"gitlab"},()=>r("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"}));Ta.displayName="GitLabIcon";const Oa=()=>r(x,{name:"gitee"},()=>r("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"}));Oa.displayName="GiteeIcon";const Aa=()=>r(x,{name:"bitbucket"},()=>r("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"}));Aa.displayName="BitbucketIcon";const Ia=()=>r(x,{name:"source"},()=>r("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"}));Ia.displayName="SourceIcon";const Pa=Array.isArray,go=e=>typeof e=="function",_o=e=>typeof e=="string";var Sa=e=>/^(https?:)?\/\//.test(e),Da=e=>Object.prototype.toString.call(e)==="[object Object]";const Y=(e,t)=>{const a=t?t._instance:Le();return Da(a==null?void 0:a.appContext.components)&&(e in a.appContext.components||bt(e)in a.appContext.components||qn(bt(e))in a.appContext.components)};function bo(){const e=k(!1);return Le()&&R(()=>{e.value=!0}),e}function yo(e){return bo(),m(()=>!!e())}const wo=()=>yo(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),Eo=()=>{const e=wo();return m(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},ve=e=>{const t=ae();return m(()=>e[t.value])},ko=(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},$a=(e,t)=>{let a=1;for(let n=0;n>6;return a+=a<<3,a^=a>>11,a%t},ce=e=>typeof e=="string",Ee=(e,t)=>ce(e)&&e.startsWith(t),pe=(e,t)=>ce(e)&&e.endsWith(t),rt=Object.entries,ye=Object.keys,Et=e=>Da(e)&&ce(e.name),kt=(e,t=!1)=>e?Pa(e)?e.map(a=>ce(a)?{name:a}:Et(a)?a:null).filter(a=>a!==null):ce(e)?[{name:e}]:Et(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Ra=(e,t)=>{if(e){if(Pa(e)&&e.every(ce))return e;if(ce(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},Lo=e=>Ra(e,"category"),To=e=>Ra(e,"tag"),lt=e=>Ee(e,"/"),xa=/#.*$/u,Oo=e=>{const t=xa.exec(e);return t?t[0]:""},Lt=e=>decodeURI(e).replace(xa,"").replace(/(index)?\.(md|html)$/,""),it=(e,t)=>{if(t===void 0)return!1;const a=Lt(e.path),n=Lt(t),o=Oo(t);return o?o===e.hash&&(!n||a===n):a===n},Ao=e=>Sa(e)?e:`https://github.com/${e}`,za=e=>!Sa(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,st=(e,...t)=>{const a=e.resolve(...t),n=a.matched[a.matched.length-1];if(!(n!=null&&n.redirect))return a;const{redirect:o}=n,l=go(o)?o(a):o,i=_o(l)?{path:l}:l;return st(e,{hash:a.hash,query:a.query,params:a.params,...i})};function Q(e){return ca()?(ua(e),!0):!1}function B(e){return typeof e=="function"?e():me(e)}const ue=typeof window<"u",de=()=>{},Tt=Io();function Io(){var e;return ue&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function ct(e,t){function a(...n){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(l)})}return a}const Ca=e=>e();function Po(e,t={}){let a,n,o=de;const l=s=>{clearTimeout(s),o(),o=de};return s=>{const d=B(e),c=B(t.maxWait);return a&&l(a),d<=0||c!==void 0&&c<=0?(n&&(l(n),n=null),Promise.resolve(s())):new Promise((u,v)=>{o=t.rejectOnCancel?v:u,c&&!n&&(n=setTimeout(()=>{a&&l(a),n=null,u(s())},c)),a=setTimeout(()=>{n&&l(n),n=null,u(s())},d)})}}function So(e,t=!0,a=!0,n=!1){let o=0,l,i=!0,s=de,d;const c=()=>{l&&(clearTimeout(l),l=void 0,s(),s=de)};return v=>{const h=B(e),f=Date.now()-o,w=()=>d=v();return c(),h<=0?(o=Date.now(),w()):(f>h&&(a||!i)?(o=Date.now(),w()):t&&(d=new Promise((L,y)=>{s=n?y:L,l=setTimeout(()=>{o=Date.now(),i=!0,L(w()),c()},Math.max(0,h-f))})),!a&&!l&&(l=setTimeout(()=>i=!0,h)),i=!1,d)}}function Do(e=Ca){const t=k(!0);function a(){t.value=!1}function n(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:be(t),pause:a,resume:n,eventFilter:o}}function Va(...e){if(e.length!==1)return Ce(...e);const t=e[0];return typeof t=="function"?be(Wn(()=>({get:t,set:de}))):k(t)}function Ss(e,t=200,a={}){return ct(Po(t,a),e)}function $o(e,t=200,a=!1,n=!0,o=!1){return ct(So(t,a,n,o),e)}function ut(e,t=!0){Le()?R(e):t?e():Te(e)}function Ro(e){Le()&&Ve(e)}function xo(e,t=1e3,a={}){const{immediate:n=!0,immediateCallback:o=!1}=a;let l=null;const i=k(!1);function s(){l&&(clearInterval(l),l=null)}function d(){i.value=!1,s()}function c(){const u=B(t);u<=0||(i.value=!0,o&&e(),s(),l=setInterval(e,u))}if(n&&ue&&c(),et(t)||typeof t=="function"){const u=I(t,()=>{i.value&&ue&&c()});Q(u)}return Q(d),{isActive:i,pause:d,resume:c}}function zo(e,t,a={}){const{immediate:n=!0}=a,o=k(!1);let l=null;function i(){l&&(clearTimeout(l),l=null)}function s(){o.value=!1,i()}function d(...c){i(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...c)},B(t))}return n&&(o.value=!0,ue&&d()),Q(s),{isPending:be(o),start:d,stop:s}}function Ot(e=!1,t={}){const{truthyValue:a=!0,falsyValue:n=!1}=t,o=et(e),l=k(e);function i(s){if(arguments.length)return l.value=s,l.value;{const d=B(a);return l.value=l.value===d?B(n):d,l.value}}return o?i:[l,i]}var At=Object.getOwnPropertySymbols,Co=Object.prototype.hasOwnProperty,Vo=Object.prototype.propertyIsEnumerable,No=(e,t)=>{var a={};for(var n in e)Co.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&At)for(var n of At(e))t.indexOf(n)<0&&Vo.call(e,n)&&(a[n]=e[n]);return a};function Mo(e,t,a={}){const n=a,{eventFilter:o=Ca}=n,l=No(n,["eventFilter"]);return I(e,ct(o,t),l)}var Bo=Object.defineProperty,Fo=Object.defineProperties,Ho=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable,It=(e,t,a)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,jo=(e,t)=>{for(var a in t||(t={}))Na.call(t,a)&&It(e,a,t[a]);if(xe)for(var a of xe(t))Ma.call(t,a)&&It(e,a,t[a]);return e},qo=(e,t)=>Fo(e,Ho(t)),Wo=(e,t)=>{var a={};for(var n in e)Na.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&xe)for(var n of xe(e))t.indexOf(n)<0&&Ma.call(e,n)&&(a[n]=e[n]);return a};function Uo(e,t,a={}){const n=a,{eventFilter:o}=n,l=Wo(n,["eventFilter"]),{eventFilter:i,pause:s,resume:d,isActive:c}=Do(o);return{stop:Mo(e,t,qo(jo({},l),{eventFilter:i})),pause:s,resume:d,isActive:c}}function ee(e){var t;const a=B(e);return(t=a==null?void 0:a.$el)!=null?t:a}const W=ue?window:void 0,dt=ue?window.document:void 0,Go=ue?window.navigator:void 0;function N(...e){let t,a,n,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([a,n,o]=e,t=W):[t,a,n,o]=e,!t)return de;Array.isArray(a)||(a=[a]),Array.isArray(n)||(n=[n]);const l=[],i=()=>{l.forEach(u=>u()),l.length=0},s=(u,v,h,f)=>(u.addEventListener(v,h,f),()=>u.removeEventListener(v,h,f)),d=I(()=>[ee(t),B(o)],([u,v])=>{i(),u&&l.push(...a.flatMap(h=>n.map(f=>s(u,h,f,v))))},{immediate:!0,flush:"post"}),c=()=>{d(),i()};return Q(c),c}function Ko(){const e=k(!1);return Le()&&R(()=>{e.value=!0}),e}function Oe(e){const t=Ko();return m(()=>(t.value,Boolean(e())))}function Qo(e,t={}){const{immediate:a=!0,window:n=W}=t,o=k(!1);let l=0,i=null;function s(u){if(!o.value||!n)return;const v=u-l;e({delta:v,timestamp:u}),l=u,i=n.requestAnimationFrame(s)}function d(){!o.value&&n&&(o.value=!0,i=n.requestAnimationFrame(s))}function c(){o.value=!1,i!=null&&n&&(n.cancelAnimationFrame(i),i=null)}return a&&d(),Q(c),{isActive:be(o),pause:c,resume:d}}function Ba(e,t={}){const{window:a=W}=t,n=Oe(()=>a&&"matchMedia"in a&&typeof a.matchMedia=="function");let o;const l=k(!1),i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},s=()=>{n.value&&(i(),o=a.matchMedia(Va(e).value),l.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",s):o.addListener(s)))};return Gn(s),Q(()=>i()),l}function Yo(e={}){const{navigator:t=Go,read:a=!1,source:n,copiedDuring:o=1500,legacy:l=!1}=e,i=["copy","cut"],s=Oe(()=>t&&"clipboard"in t),d=m(()=>s.value||l),c=k(""),u=k(!1),v=zo(()=>u.value=!1,o);function h(){s.value?t.clipboard.readText().then(y=>{c.value=y}):c.value=L()}if(d.value&&a)for(const y of i)N(y,h);async function f(y=B(n)){d.value&&y!=null&&(s.value?await t.clipboard.writeText(y):w(y),c.value=y,u.value=!0,v.start())}function w(y){const g=document.createElement("textarea");g.value=y??"",g.style.position="absolute",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),g.remove()}function L(){var y,g,O;return(O=(g=(y=document==null?void 0:document.getSelection)==null?void 0:y.call(document))==null?void 0:g.toString())!=null?O:""}return{isSupported:d,text:c,copied:u,copy:f}}const Ie=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Pe="__vueuse_ssr_handlers__",Jo=Xo();function Xo(){return Pe in Ie||(Ie[Pe]=Ie[Pe]||{}),Ie[Pe]}function Zo(e,t){return Jo[e]||t}function er(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"}var tr=Object.defineProperty,Pt=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,St=(e,t,a)=>t in e?tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Dt=(e,t)=>{for(var a in t||(t={}))ar.call(t,a)&&St(e,a,t[a]);if(Pt)for(var a of Pt(t))nr.call(t,a)&&St(e,a,t[a]);return e};const or={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()}},$t="vueuse-storage";function vt(e,t,a,n={}){var o;const{flush:l="pre",deep:i=!0,listenToStorageChanges:s=!0,writeDefaults:d=!0,mergeDefaults:c=!1,shallow:u,window:v=W,eventFilter:h,onError:f=T=>{console.error(T)}}=n,w=(u?Un:k)(t);if(!a)try{a=Zo("getDefaultStorage",()=>{var T;return(T=W)==null?void 0:T.localStorage})()}catch(T){f(T)}if(!a)return w;const L=B(t),y=er(L),g=(o=n.serializer)!=null?o:or[y],{pause:O,resume:P}=Uo(w,()=>V(w.value),{flush:l,deep:i,eventFilter:h});return v&&s&&(N(v,"storage",_),N(v,$t,S)),_(),w;function V(T){try{if(T==null)a.removeItem(e);else{const C=g.write(T),ie=a.getItem(e);ie!==C&&(a.setItem(e,C),v&&v.dispatchEvent(new CustomEvent($t,{detail:{key:e,oldValue:ie,newValue:C,storageArea:a}})))}}catch(C){f(C)}}function M(T){const C=T?T.newValue:a.getItem(e);if(C==null)return d&&L!==null&&a.setItem(e,g.write(L)),L;if(!T&&c){const ie=g.read(C);return typeof c=="function"?c(ie,L):y==="object"&&!Array.isArray(ie)?Dt(Dt({},L),ie):ie}else return typeof C!="string"?C:g.read(C)}function S(T){_(T.detail)}function _(T){if(!(T&&T.storageArea!==a)){if(T&&T.key==null){w.value=L;return}if(!(T&&T.key!==e)){O();try{w.value=M(T)}catch(C){f(C)}finally{T?Te(P):P()}}}}}function rr(e){return Ba("(prefers-color-scheme: dark)",e)}var Rt=Object.getOwnPropertySymbols,lr=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable,sr=(e,t)=>{var a={};for(var n in e)lr.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&Rt)for(var n of Rt(e))t.indexOf(n)<0&&ir.call(e,n)&&(a[n]=e[n]);return a};function cr(e,t,a={}){const n=a,{window:o=W}=n,l=sr(n,["window"]);let i;const s=Oe(()=>o&&"MutationObserver"in o),d=()=>{i&&(i.disconnect(),i=void 0)},c=I(()=>ee(e),v=>{d(),s.value&&o&&v&&(i=new MutationObserver(t),i.observe(v,l))},{immediate:!0}),u=()=>{d(),c()};return Q(u),{isSupported:s,stop:u}}var xt=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,vr=(e,t)=>{var a={};for(var n in e)ur.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(e!=null&&xt)for(var n of xt(e))t.indexOf(n)<0&&dr.call(e,n)&&(a[n]=e[n]);return a};function pr(e,t,a={}){const n=a,{window:o=W}=n,l=vr(n,["window"]);let i;const s=Oe(()=>o&&"ResizeObserver"in o),d=()=>{i&&(i.disconnect(),i=void 0)},c=m(()=>Array.isArray(e)?e.map(h=>ee(h)):[ee(e)]),u=I(c,h=>{if(d(),s.value&&o){i=new ResizeObserver(t);for(const f of h)f&&i.observe(f,l)}},{immediate:!0,flush:"post",deep:!0}),v=()=>{d(),u()};return Q(v),{isSupported:s,stop:v}}function mr(e,t={width:0,height:0},a={}){const{window:n=W,box:o="content-box"}=a,l=m(()=>{var d,c;return(c=(d=ee(e))==null?void 0:d.namespaceURI)==null?void 0:c.includes("svg")}),i=k(t.width),s=k(t.height);return pr(e,([d])=>{const c=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(n&&l.value){const u=ee(e);if(u){const v=n.getComputedStyle(u);i.value=parseFloat(v.width),s.value=parseFloat(v.height)}}else if(c){const u=Array.isArray(c)?c:[c];i.value=u.reduce((v,{inlineSize:h})=>v+h,0),s.value=u.reduce((v,{blockSize:h})=>v+h,0)}else i.value=d.contentRect.width,s.value=d.contentRect.height},a),I(()=>ee(e),d=>{i.value=d?t.width:0,s.value=d?t.height:0}),{width:i,height:s}}const zt=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function pt(e,t={}){const{document:a=dt,autoExit:n=!1}=t,o=m(()=>{var g;return(g=ee(e))!=null?g:a==null?void 0:a.querySelector("html")}),l=k(!1),i=m(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>a&&g in a||o.value&&g in o.value)),s=m(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>a&&g in a||o.value&&g in o.value)),d=m(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>a&&g in a||o.value&&g in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>a&&g in a),u=Oe(()=>o.value&&a&&i.value!==void 0&&s.value!==void 0&&d.value!==void 0),v=()=>c?(a==null?void 0:a[c])===o.value:!1,h=()=>{if(d.value){if(a&&a[d.value]!=null)return a[d.value];{const g=o.value;if((g==null?void 0:g[d.value])!=null)return Boolean(g[d.value])}}return!1};async function f(){if(u.value){if(s.value)if((a==null?void 0:a[s.value])!=null)await a[s.value]();else{const g=o.value;(g==null?void 0:g[s.value])!=null&&await g[s.value]()}l.value=!1}}async function w(){if(!u.value)return;h()&&await f();const g=o.value;i.value&&(g==null?void 0:g[i.value])!=null&&(await g[i.value](),l.value=!0)}async function L(){await(l.value?f():w())}const y=()=>{const g=h();(!g||g&&v())&&(l.value=g)};return N(a,zt,y,!1),N(()=>ee(o),zt,y,!1),n&&Q(f),{isSupported:u,isFullscreen:l,enter:w,exit:f,toggle:L}}var hr=Object.defineProperty,Ct=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,Vt=(e,t,a)=>t in e?hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_r=(e,t)=>{for(var a in t||(t={}))fr.call(t,a)&&Vt(e,a,t[a]);if(Ct)for(var a of Ct(t))gr.call(t,a)&&Vt(e,a,t[a]);return e};function Ds(e={}){const{controls:t=!1,interval:a="requestAnimationFrame"}=e,n=k(new Date),o=()=>n.value=new Date,l=a==="requestAnimationFrame"?Qo(o,{immediate:!0}):xo(o,a,{immediate:!0});return t?_r({now:n},l):n}function br(e={}){const{window:t=W}=e;if(!t)return k(["en"]);const a=t.navigator,n=k(a.languages);return N(t,"languagechange",()=>{n.value=a.languages}),n}function $s(e,t=de,a={}){const{immediate:n=!0,manual:o=!1,type:l="text/javascript",async:i=!0,crossOrigin:s,referrerPolicy:d,noModule:c,defer:u,document:v=dt,attrs:h={}}=a,f=k(null);let w=null;const L=O=>new Promise((P,V)=>{const M=T=>(f.value=T,P(T),T);if(!v){P(!1);return}let S=!1,_=v.querySelector(`script[src="${B(e)}"]`);_?_.hasAttribute("data-loaded")&&M(_):(_=v.createElement("script"),_.type=l,_.async=i,_.src=B(e),u&&(_.defer=u),s&&(_.crossOrigin=s),c&&(_.noModule=c),d&&(_.referrerPolicy=d),Object.entries(h).forEach(([T,C])=>_==null?void 0:_.setAttribute(T,C)),S=!0),_.addEventListener("error",T=>V(T)),_.addEventListener("abort",T=>V(T)),_.addEventListener("load",()=>{_.setAttribute("data-loaded","true"),t(_),M(_)}),S&&(_=v.head.appendChild(_)),O||M(_)}),y=(O=!0)=>(w||(w=L(O)),w),g=()=>{if(!v)return;w=null,f.value&&(f.value=null);const O=v.querySelector(`script[src="${B(e)}"]`);O&&v.head.removeChild(O)};return n&&!o&&ut(y),o||Ro(g),{scriptTag:f,load:y,unload:g}}function Fa(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientHeight1?!0:(t.preventDefault&&t.preventDefault(),!1)}function mt(e,t=!1){const a=k(t);let n=null,o;I(Va(e),s=>{if(s){const d=s;o=d.style.overflow,a.value&&(d.style.overflow="hidden")}},{immediate:!0});const l=()=>{const s=B(e);!s||a.value||(Tt&&(n=N(s,"touchmove",d=>{yr(d)},{passive:!1})),s.style.overflow="hidden",a.value=!0)},i=()=>{const s=B(e);!s||!a.value||(Tt&&(n==null||n()),s.style.overflow=o,a.value=!1)};return Q(i),m({get(){return a.value},set(s){s?l():i()}})}function wr(e,t,a={}){const{window:n=W}=a;return vt(e,t,n==null?void 0:n.sessionStorage,a)}let Er=0;function kr(e,t={}){const a=k(!1),{document:n=dt,immediate:o=!0,manual:l=!1,id:i=`vueuse_styletag_${++Er}`}=t,s=k(e);let d=()=>{};const c=()=>{if(!n)return;const v=n.getElementById(i)||n.createElement("style");v.isConnected||(v.type="text/css",v.id=i,t.media&&(v.media=t.media),n.head.appendChild(v)),!a.value&&(d=I(s,h=>{v.textContent=h},{immediate:!0}),a.value=!0)},u=()=>{!n||!a.value||(d(),n.head.removeChild(n.getElementById(i)),a.value=!1)};return o&&!l&&ut(c),l||Q(u),{id:i,css:s,unload:u,load:c,isLoaded:be(a)}}function Lr({window:e=W}={}){if(!e)return{x:k(0),y:k(0)};const t=k(e.scrollX),a=k(e.scrollY);return N(e,"scroll",()=>{t.value=e.scrollX,a.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:a}}function Tr(e={}){const{window:t=W,initialWidth:a=1/0,initialHeight:n=1/0,listenOrientation:o=!0,includeScrollbar:l=!0}=e,i=k(a),s=k(n),d=()=>{t&&(l?(i.value=t.innerWidth,s.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,s.value=t.document.documentElement.clientHeight))};if(d(),ut(d),N("resize",d,{passive:!0}),o){const c=Ba("(orientation: portrait)");I(c,()=>d())}return{width:i,height:s}}var Or=E({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=m(()=>{const n=["font-icon icon"],o=`iconfont icon-${e.icon}`;return n.push(o),n}),a=m(()=>{const n={};return e.color&&(n.color=e.color),e.size&&(n["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),ye(n).length?n:null});return()=>e.icon?r("span",{key:e.icon,class:t.value,style:a.value}):null}});const Ha=({type:e="info",text:t="",vertical:a="top",color:n},{slots:o})=>{var l;return r("span",{class:["badge",e,{diy:n}],style:{verticalAlign:a,...n?{backgroundColor:n}:{}}},t||((l=o.default)==null?void 0:l.call(o)))};Ha.displayName="Badge";const Ar="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",Nt=e=>F(e)?e:`${e}px`,Ir=(e,t=0)=>{const a=k(),n=m(()=>Nt(me(e.width)||"100%")),o=k("auto"),l=d=>{if(F(d)){const[c,u]=d.split(":"),v=Number(c)/Number(u);if(!Number.isNaN(v))return v}return typeof d=="number"?d:16/9},i=d=>{const c=me(e.height),u=l(me(e.ratio));return c?Nt(c):`${Number(d)/u+me(t)}px`},s=()=>{a.value&&(o.value=i(a.value.clientWidth))};return R(()=>{s(),et(t)&&I(t,()=>s()),N("orientationchange",()=>s()),N("resize",()=>s())}),{el:a,width:n,height:o}},Mt="https://player.bilibili.com/player.html";var Pr=E({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:a,height:n}=Ir(e),o=m(()=>{const{aid:l,bvid:i,cid:s,autoplay:d,time:c,page:u}=e;return l&&s?`${Mt}?aid=${l}&cid=${s}&t=${c}&autoplay=${d?1:0}&page=${u}`:i?`${Mt}?bvid=${i}&t=${c}&autoplay=${d?1:0}`:null});return()=>o.value?[r("div",{class:"bili-desc"},r("a",{class:"sr-only",href:o.value},e.title)),r("iframe",{ref:t,src:o.value,title:e.title,class:"bili-iframe",allow:Ar,style:{width:a.value,height:n.value}})]:null}});const ja=()=>r(x,{name:"back-to-top"},()=>[r("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"}),r("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"})]);ja.displayName="BackToTopIcon";var Sr=E({name:"BackToTop",props:{threshold:{type:Number,default:100},noProgress:Boolean},setup(e){const t=z(),a=ve({"/zh/":{backToTop:"返回顶部"},"/en/":{backToTop:"Back to top"},"/":{backToTop:"Back to top"}}),n=k(),{height:o}=mr(n),{height:l}=Tr(),{y:i}=Lr(),s=m(()=>t.value.backToTop!==!1&&i.value>e.threshold),d=m(()=>i.value/(o.value-l.value));return R(()=>{n.value=document.body}),()=>r(se,{name:"fade"},()=>s.value?r("button",{type:"button",class:"back-to-top","aria-label":a.value.backToTop,"data-balloon-pos":"left",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[e.noProgress?null:r("svg",{class:"scroll-progress"},r("circle",{cx:"50%",cy:"50%",r:"calc(50% - 2px)",style:{"stroke-dasharray":`${Math.PI*d.value*100}% ${Math.PI*100}%`}})),r(ja)]):null)}});const Dr=H({enhance:({app:e})=>{Y("FontIcon")||e.component("FontIcon",Or),Y("Badge")||e.component("Badge",Ha),Y("BiliBili")||e.component("BiliBili",Pr)},setup:()=>{kr(` @import url("https://at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); + `)},rootComponents:[()=>r(Sr,{})]});function qa(e,t,a){var n,o,l;t===void 0&&(t=50),a===void 0&&(a={});var i=(n=a.isImmediate)!=null&&n,s=(o=a.callback)!=null&&o,d=a.maxWait,c=Date.now(),u=[];function v(){if(d!==void 0){var f=Date.now()-c;if(f+t>=d)return d-f}return t}var h=function(){var f=[].slice.call(arguments),w=this;return new Promise(function(L,y){var g=i&&l===void 0;if(l!==void 0&&clearTimeout(l),l=setTimeout(function(){if(l=void 0,c=Date.now(),!i){var P=e.apply(w,f);s&&s(P),u.forEach(function(V){return(0,V.resolve)(P)}),u=[]}},v()),g){var O=e.apply(w,f);return s&&s(O),L(O)}u.push({resolve:L,reject:y})})};return h.cancel=function(f){l!==void 0&&clearTimeout(l),u.forEach(function(w){return(0,w.reject)(f)}),u=[]},h}const $r=({headerLinkSelector:e,headerAnchorSelector:t,delay:a,offset:n=5})=>{const o=G(),i=qa(()=>{var L,y;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)h.some(O=>O.hash===g.hash));for(let g=0;g=(((L=O.parentElement)==null?void 0:L.offsetTop)??0)-n,M=!P||s<(((y=P.parentElement)==null?void 0:y.offsetTop)??0)-n;if(!(V&&M))continue;const _=decodeURIComponent(o.currentRoute.value.hash),T=decodeURIComponent(O.hash);if(_===T)return;if(v){for(let C=g+1;C{window.addEventListener("scroll",i)}),Kn(()=>{window.removeEventListener("scroll",i)})},Bt=async(e,t)=>{const{scrollBehavior:a}=e.options;e.options.scrollBehavior=void 0,await e.replace({query:e.currentRoute.value.query,hash:t,force:!0}).finally(()=>e.options.scrollBehavior=a)},Rr=".sidebar-link, .toc-link",xr=".header-anchor",zr=200,Cr=5,Vr=H({setup(){$r({headerLinkSelector:Rr,headerAnchorSelector:xr,delay:zr,offset:Cr})}});var Nr=E({name:"AutoCatalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean},setup(e,{slots:t}){const a=ve({"/zh/":{title:"目录"},"/en/":{title:"Catalog"},"/":{title:"Catalog"}}),n=D(),o=G(),l=ba(),i=c=>{const u=c.I;return typeof u>"u"||u},s=()=>{const c=e.base||n.value.path.replace(/\/[^/]+$/,"/"),u=o.getRoutes(),v=[];return u.filter(({meta:h,path:f})=>{if(!Ee(f,c)||f===c)return!1;if(c==="/"){const w=ye(l.value.locales).filter(L=>L!=="/");if(f==="/404.html"||w.some(L=>Ee(f,L)))return!1}return(pe(f,".html")&&!pe(f,"/index.html")||pe(f,"/"))&&i(h)}).map(({path:h,meta:f})=>{const w=h.substring(c.length).split("/").length;return{title:f.t||"",icon:f.i,base:h.replace(/\/[^/]+\/?$/,"/"),order:f.O||null,level:pe(h,"/")?w-1:w,path:h}}).filter(({title:h,level:f})=>typeof h=="string"&&h&&f<=e.level).sort(({title:h,level:f,path:w,order:L},{title:y,level:g,path:O,order:P})=>f-g||(pe(w,"/index.html")?-1:pe(O,"/index.html")?1:L===null?P===null?h.localeCompare(y):P:P===null?L:L>0?P>0?L-P:-1:P<0?L-P:1)).forEach(h=>{var f;const{base:w,level:L}=h;switch(L){case 1:v.push(h);break;case 2:{const y=v.find(g=>g.path===w);y&&(y.children??(y.children=[])).push(h);break}default:{const y=v.find(g=>g.path===w.replace(/\/[^/]+\/$/,"/"));if(y){const g=(f=y.children)==null?void 0:f.find(O=>O.path===w);g&&(g.children??(g.children=[])).push(h)}}}}),v},d=m(()=>s());return()=>r("div",{class:"auto-catalog-wrapper"},[r("h2",{class:"main-title"},a.value.title),d.value.map(({children:c=[],icon:u,path:v,title:h},f)=>[r("h3",{id:h,class:["child-title",{"has-children":c.length}]},[r("a",{href:`#${h}`,class:"header-anchor"},"#"),r(re,{class:"catalog-title",to:v},()=>[e.index?`${f+1}.`:null,u&&t.icon?t.icon({icon:u}):null,h||"Unknown"])]),c.length?r("ul",{class:"child-catalog-wrapper"},c.map(({children:w=[],icon:L,path:y,title:g},O)=>r("li",{class:"child-catalog-item"},[r("div",{class:["sub-title",{"has-children":w.length}]},[r("a",{href:`#${g}`,class:"header-anchor"},"#"),r(re,{class:"catalog-title",to:y},()=>[e.index?`${f+1}.${O+1}`:null,L&&t.icon?t.icon({icon:L}):null,g||"Unknown"])]),w.length?r("div",{class:"sub-catalog-wrapper"},w.map(({icon:P,path:V,title:M},S)=>r(re,{class:"sub-catalog-item",to:V},()=>[e.index?`${f+1}.${O+1}.${S+1}`:null,P&&t.icon?t.icon({icon:P}):null,M||"Unknown"]))):null]))):null])])}}),Mr=H({enhance:({app:e})=>{Y("AutoCatalog",e)||e.component("AutoCatalog",t=>r(Nr,t,{icon:({icon:a})=>r(q("HopeIcon"),{icon:a})}))}});const Br=r("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"},[r("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"}),r("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"})]),Wa=E({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=ae(),a=m(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>r("span",[Br,r("span",{class:"external-link-icon-sr-only"},a.value.openInNewWindow)])}}),Fr={},Hr=H({enhance({app:e}){e.component("ExternalLinkIcon",r(Wa,{locales:Fr}))}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const A={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=A.isStarted();e=je(e,A.settings.minimum,1),A.status=e===1?null:e;const a=A.render(!t),n=a.querySelector(A.settings.barSelector),o=A.settings.speed,l=A.settings.easing;return a.offsetWidth,jr(i=>{Se(n,{transform:"translate3d("+Ft(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(Se(a,{transition:"none",opacity:"1"}),a.offsetWidth,setTimeout(function(){Se(a,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){A.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),A},isStarted:()=>typeof A.status=="number",start:()=>{A.status||A.set(0);const e=()=>{setTimeout(()=>{A.status&&(A.trickle(),e())},A.settings.trickleSpeed)};return A.settings.trickle&&e(),A},done:e=>!e&&!A.status?A:A.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=A.status;return t?(typeof e!="number"&&(e=(1-t)*je(Math.random()*t,.1,.95)),t=je(t+e,0,.994),A.set(t)):A.start()},trickle:()=>A.inc(Math.random()*A.settings.trickleRate),render:e=>{if(A.isRendered())return document.getElementById("nprogress");Ht(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=A.settings.template;const a=t.querySelector(A.settings.barSelector),n=e?"-100":Ft(A.status||0),o=document.querySelector(A.settings.parent);return Se(a,{transition:"all 0 linear",transform:"translate3d("+n+"%,0,0)"}),o!==document.body&&Ht(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{jt(document.documentElement,"nprogress-busy"),jt(document.querySelector(A.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&qr(e)},isRendered:()=>!!document.getElementById("nprogress")},je=(e,t,a)=>ea?a:e,Ft=e=>(-1+e)*100,jr=function(){const e=[];function t(){const a=e.shift();a&&a(t)}return function(a){e.push(a),e.length===1&&t()}}(),Se=function(){const e=["Webkit","O","Moz","ms"],t={};function a(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(s,d){return d.toUpperCase()})}function n(i){const s=document.body.style;if(i in s)return i;let d=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let u;for(;d--;)if(u=e[d]+c,u in s)return u;return i}function o(i){return i=a(i),t[i]||(t[i]=n(i))}function l(i,s,d){s=o(s),i.style[s]=d}return function(i,s){for(const d in s){const c=s[d];c!==void 0&&Object.prototype.hasOwnProperty.call(s,d)&&l(i,d,c)}}}(),Ua=(e,t)=>(typeof e=="string"?e:ht(e)).indexOf(" "+t+" ")>=0,Ht=(e,t)=>{const a=ht(e),n=a+t;Ua(a,t)||(e.className=n.substring(1))},jt=(e,t)=>{const a=ht(e);if(!Ua(e,t))return;const n=a.replace(" "+t+" "," ");e.className=n.substring(1,n.length-1)},ht=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),qr=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const Wr=()=>{R(()=>{const e=G(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(a=>{t.has(a.path)||A.start()}),e.afterEach(a=>{t.add(a.path),A.done()})})},Ur=H({setup(){Wr()}}),Gr=JSON.parse(`{"encrypt":{},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i4/1797064093/O1CN01vK3m2w1g6duwt8quS_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","locales":{"/zh/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页","print":"打印"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"encryptLocales":{"iconLabel":"文章已加密","placeholder":"输入密码","remember":"记住密码","errorHint":"请输入正确的密码"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/zh/",{"text":"文档","icon":"article","link":"/zh/features/"},{"text":"下载","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"加入社区讨论","icon":"community","link":"/zh/community"}],"sidebar":{"/zh/":["",{"icon":"workingDirectory","text":"项目介绍","link":"project"},{"icon":"network","text":"国际化支持","link":"i18n"},{"icon":"play","text":"快速开始","link":"quick-start"},{"icon":"read","text":"功能指南","prefix":"features/","children":"structure"},{"icon":"advance","text":"高级","prefix":"advanced/","children":"structure"},{"icon":"article","text":"声明和公告","prefix":"statements/","children":"structure"}]},"footer":"用开源社区力量为原神 PC 端玩家带来最好的游戏体验","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 on GitHub","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"navbar":["/en/",{"text":"Document","icon":"article","link":"/en/features/"},{"text":"Download","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"Community","icon":"community","link":"/en/community"}],"sidebar":{"/en/":["",{"icon":"workingDirectory","text":"Project","link":"project"},{"icon":"network","text":"Localization","link":"i18n"},{"icon":"play","text":"Quick Start","link":"quick-start"},{"icon":"read","text":"Features","prefix":"features/","children":"structure"},{"icon":"advance","text":"Advanced","prefix":"advanced/","children":"structure"},{"icon":"article","text":"Statements","prefix":"statements/","children":"structure"}]},"footer":"Be the best Genshin Impact tool","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"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"}}}}`),Kr=k(Gr),Ga=()=>Kr,Ka=Symbol(""),Qr=()=>{const e=J(Ka);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Yr=(e,t)=>{var a;return{...e,...(a=e.locales)==null?void 0:a[t]}},Jr=H({enhance({app:e}){const t=Ga(),a=e._context.provides[ot],n=m(()=>Yr(t.value,a.value));e.provide(Ka,n),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return n.value}}})}}),Xr={"Content-Type":"application/json"},Zr=({serverURL:e,lang:t,paths:a,signal:n})=>(({serverURL:o,lang:l,paths:i,type:s,signal:d})=>fetch(`${o}/article?path=${encodeURIComponent(i.join(","))}&type=${encodeURIComponent(s.join(","))}&lang=${l}`,{signal:d}).then(c=>c.json()))({serverURL:e,lang:t,paths:a,type:["time"],signal:n}).then(o=>Array.isArray(o)?o:[o]),el=e=>(({serverURL:t,lang:a,path:n,type:o,action:l})=>fetch(`${t}/article?lang=${a}`,{method:"POST",headers:Xr,body:JSON.stringify({path:n,type:o,action:l})}).then(i=>i.json()))({...e,type:"time",action:"inc"}),qt=e=>{const t=((a="")=>a.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},tl=e=>{e.name!=="AbortError"&&console.error(e.message)},Wt=e=>e.dataset.path||e.getAttribute("id"),Ut=(e,t)=>{t.forEach((a,n)=>{a.innerText=e[n].toString()})},al=({serverURL:e,path:t=window.location.pathname,selector:a=".waline-pageview-count",update:n=!0,lang:o=navigator.language})=>{const l=new AbortController,i=Array.from(document.querySelectorAll(a)),s=c=>{const u=Wt(c);return u!==null&&t!==u},d=c=>Zr({serverURL:qt(e),paths:c.map(u=>Wt(u)||t),lang:o,signal:l.signal}).then(u=>Ut(u,c)).catch(tl);if(n){const c=i.filter(v=>!s(v)),u=i.filter(s);el({serverURL:qt(e),path:t,lang:o}).then(v=>Ut(new Array(c.length).fill(v),c)),u.length&&d(u)}else d(i);return l.abort.bind(l)};const we={provider:"Waline",dark:'html[data-theme="dark"]',serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],reaction:!1},nl={"/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)"}};p(()=>import("./waline-meta-a31b78ed.js"),[]);var ol=E({name:"WalineComment",setup(){const e=D(),t=z(),a=Ne(),n=ve(nl);let o;const l=m(()=>{const c=we.comment!==!1,u=t.value.comment;return!!u||c!==!1&&u!==!1}),i=m(()=>{const c=we.pageview!==!1,u=t.value.pageview;return!!u||c!==!1&&u!==!1}),s=m(()=>te(e.value.path)),d=m(()=>({lang:a.value==="zh-CN"?"zh-CN":"en",locale:n.value,dark:"html.dark",...we,path:s.value}));return R(()=>{I(s,()=>{o==null||o(),i.value&&Te().then(()=>{setTimeout(()=>{o=al({serverURL:we.serverURL,path:s.value})},we.delay||800)})},{immediate:!0})}),()=>l.value?r("div",{class:"waline-wrapper",id:"comment"},r(b({loader:async()=>(await p(()=>import("./component-2df9114b.js"),["assets/component-2df9114b.js","assets/framework-8be3ab77.js"])).Waline,loadingComponent:Ea}),d.value)):null}});const rl={provider:"Waline",dark:'html[data-theme="dark"]',serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],reaction:!1}.comment!==!1,ll=E({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=z(),a=m(()=>t.value.comment||rl&&t.value.comment!==!1);return()=>r(ol,{darkmode:e.darkmode,style:{display:a.value?"block":"none"}})}});var il=H({enhance:({app:e})=>{e.component("CommentService",ll)}});const sl=800,cl=2e3,ul={"/zh/":{copy:"复制代码",copied:"已复制",hint:"复制成功"},"/en/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"},"/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"}},dl=!1,vl=['.theme-hope-content div[class*="language-"] pre'],Gt=!1,qe=new Map,pl=()=>{const{copy:e}=Yo({legacy:!0}),t=ve(ul),a=D(),n=Eo(),o=s=>{if(!s.hasAttribute("copy-code-registered")){const d=document.createElement("button");d.type="button",d.classList.add("copy-code-button"),d.innerHTML='
',d.setAttribute("aria-label",t.value.copy),d.setAttribute("data-copied",t.value.copied),s.parentElement&&s.parentElement.insertBefore(d,s),s.setAttribute("copy-code-registered","")}},l=()=>Te().then(()=>new Promise(s=>{setTimeout(()=>{vl.forEach(d=>{document.querySelectorAll(d).forEach(o)}),s()},sl)})),i=(s,d,c)=>{let{innerText:u=""}=d;/language-(shellscript|shell|bash|sh|zsh)/.test(s.classList.toString())&&(u=u.replace(/^ *(\$|>) /gm,"")),e(u).then(()=>{c.classList.add("copied"),clearTimeout(qe.get(c));const v=setTimeout(()=>{c.classList.remove("copied"),c.blur(),qe.delete(c)},cl);qe.set(c,v)})};R(()=>{(!n.value||Gt)&&l(),N("click",s=>{const d=s.target;if(d.matches('div[class*="language-"] > button.copy')){const c=d.parentElement,u=d.nextElementSibling;u&&i(c,u,d)}else if(d.matches('div[class*="language-"] div.copy-icon')){const c=d.parentElement,u=c.parentElement,v=c.nextElementSibling;v&&i(u,v,c)}}),I(()=>a.value.path,()=>{(!n.value||Gt)&&l()})})};var ml=H({setup:()=>{pl()}});const We=vt("VUEPRESS_TAB_STORE",{});var hl=E({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},setup(e,{slots:t}){const a=k(e.active),n=k([]),o=()=>{if(e.tabId){const{title:c,id:u=c}=e.data[a.value];We.value[e.tabId]=u}},l=(c=a.value)=>{a.value=c{a.value=c>0?c-1:n.value.length-1,n.value[a.value].focus()},s=(c,u)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),a.value=u):c.key==="ArrowRight"?(c.preventDefault(),l()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),o()},d=()=>{if(e.tabId){const c=e.data.findIndex(({title:u,id:v=u})=>We.value[e.tabId]===v);if(c!==-1)return c}return e.active};return R(()=>{a.value=d(),I(()=>We.value[e.tabId],(c,u)=>{if(e.tabId&&c!==u){const v=e.data.findIndex(({title:h,id:f=h})=>f===c);v!==-1&&(a.value=v)}})}),()=>e.data.length?r("div",{class:"tab-list"},[r("div",{class:"tab-list-nav",role:"tablist"},e.data.map(({title:c},u)=>{const v=u===a.value;return r("button",{type:"button",ref:h=>{h&&(n.value[u]=h)},class:["tab-list-nav-item",{active:v}],role:"tab","aria-controls":`tab-${e.id}-${u}`,"aria-selected":v,onClick:()=>{a.value=u,o()},onKeydown:h=>s(h,u)},c)})),e.data.map(({title:c,id:u=c},v)=>{var h;const f=v===a.value;return r("div",{class:["tab-item",{active:f}],id:`tab-${e.id}-${v}`,role:"tabpanel","aria-expanded":f},(h=t[`tab${v}`])==null?void 0:h.call(t,{title:c,value:u,isActive:f}))})]):null}});const fl=H({enhance:({app:e})=>{e.component("Tabs",hl)}});const gl=".theme-hope-content :not(a) > img:not([no-view])",_l={"/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)"}},bl=800,yl={},wl='
',El=e=>F(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Qa=e=>new Promise((t,a)=>{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(Qa(e)),e.onerror=n=>a(n))}),kl=()=>{const{isSupported:e,toggle:t}=pt(),a=ve(_l),n=D();let o;const l=s=>{s.on("uiRegister",()=>{e&&s.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{t()}}),s.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(d,c)=>{d.setAttribute("download",""),d.setAttribute("target","_blank"),d.setAttribute("rel","noopener"),c.on("change",()=>{d.setAttribute("href",c.currSlide.data.src)})}}),s.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(d,c)=>{const u=[];let v=-1;for(let h=0;h{c.goTo(u.indexOf(w.target))},u.push(f),d.appendChild(f)}c.on("change",()=>{v>=0&&u[v].classList.remove("active"),u[c.currIndex].classList.add("active"),v=c.currIndex})}})})},i=()=>Promise.all([p(()=>import("./photoswipe.esm-36cd6c3c.js"),[]),Te().then(()=>new Promise(s=>setTimeout(s,bl)).then(()=>El(gl)))]).then(([{default:s},d])=>{const c=d.map(u=>({html:wl,element:u,msrc:u.src}));d.forEach((u,v)=>{const h=()=>{o=new s({preloaderDelay:0,showHideAnimationType:"zoom",...a.value,...yl,dataSource:c,index:v,closeOnVerticalDrag:!0,wheelToZoom:!1}),l(o),o.addFilter("thumbEl",()=>u),o.addFilter("placeholderSrc",()=>u.src),o.init()};u.style.cursor="zoom-in",u.addEventListener("click",()=>{h()}),u.addEventListener("keypress",({key:f})=>{f==="Enter"&&h()})}),d.forEach((u,v)=>{Qa(u).then(h=>{c.splice(v,1,h),o==null||o.refreshSlideContent(v)})})});R(()=>{N("wheel",()=>{o==null||o.close()}),i(),I(()=>n.value.path,()=>i())})};var Ll=H({setup:()=>{kl()}});function Tl(e){return{all:e=e||new Map,on:function(t,a){var n=e.get(t);n?n.push(a):e.set(t,[a])},off:function(t,a){var n=e.get(t);n&&(a?n.splice(n.indexOf(a)>>>0,1):e.set(t,[]))},emit:function(t,a){var n=e.get(t);n&&n.slice().map(function(o){o(a)}),(n=e.get("*"))&&n.slice().map(function(o){o(t,a)})}}}const Ya=Symbol(""),Ol=()=>{const e=J(Ya);if(!e)throw new Error("usePWAEvent() is called without provider.");return e},Al=async e=>{const{register:t}=await p(()=>import("./index-70769223.js"),[]);t(te("service-worker.js"),{ready(a){console.log("[PWA]: Service worker is active"),e.emit("ready",a)},registered(a){console.log("[PWA]: Service worker has been registered."),e.emit("registered",a)},cached(a){console.log("[PWA]: Content has been cached for offline usage"),e.emit("cached",a)},async updatefound(a){await navigator.serviceWorker.getRegistration()&&(console.log("[PWA]: New content is downloading."),e.emit("updatefound",a))},updated(a){console.log("[PWA]: New content is available, please refresh.");const n="service-worker-version",o=Number(localStorage.getItem(n)||0);localStorage.setItem(n,(o+1).toString()),localStorage.removeItem("manifest"),e.emit("updated",a)},offline(){console.log("[PWA]: No internet connection found. App is running in offline mode."),e.emit("offline")},error(a){console.log("[PWA]: Error during service worker registration:",a),e.emit("error",a)}})},Il=()=>{const e=Tl();tt(Ya,e),R(async()=>{var t;let a=!1;(t=navigator.serviceWorker)!=null&&t.controller&&navigator.serviceWorker.addEventListener("controllerchange",()=>{a||(a=!0,window.location.reload())}),await Al(e)})},Ja=()=>r(x,{name:"update"},()=>r("path",{d:"M949.949 146.25v255.826c0 21.981-13.989 35.97-35.97 35.97H658.154c-13.988 0-25.983-7.992-33.973-21.981-5.997-13.989-4-27.977 7.991-39.97l79.942-77.946c-55.954-51.973-121.918-77.955-199.863-77.955-37.975 0-75.95 8.002-113.924 21.99-37.975 15.985-67.948 37.976-91.934 63.957-25.982 23.987-47.973 53.96-63.957 91.934-29.983 73.955-29.983 153.895 0 227.85 15.984 37.976 37.975 67.947 63.957 91.934 23.986 25.982 53.959 47.973 91.934 63.956 37.974 13.989 75.95 21.991 113.924 21.991 45.967 0 87.942-9.998 127.913-29.982 41.976-17.99 75.951-45.967 101.931-83.943 7.993-4 11.994-5.995 13.989-5.995 5.997 0 9.998 1.994 13.988 5.995l77.958 77.946c3.989 4 5.986 7.993 5.986 11.994 0 1.994-1.996 5.995-3.99 11.994-43.973 51.962-93.941 91.934-151.9 117.914-53.958 25.983-115.92 39.972-185.874 39.972-61.961 0-119.921-11.984-169.89-33.973-57.96-25.985-105.923-57.963-139.896-93.943-35.98-33.972-67.958-81.936-93.94-139.897-45.967-101.93-45.967-237.846 0-339.777 25.982-57.96 57.96-105.923 93.94-139.896 33.973-35.98 81.936-67.958 139.896-93.94 49.968-21.99 107.928-33.974 169.89-33.974 55.963 0 109.923 9.988 161.885 29.973 53.97 21.99 101.933 51.963 139.908 89.938l73.954-73.944c9.987-9.998 23.987-13.988 39.971-8.002 13.988 8.002 21.98 19.995 21.98 33.984z"}));Ja.displayName="UpdateIcon";const Pl={"/zh/":{install:"安装",iOSInstall:"点击分享按钮然后点击“添加到主屏幕”",cancel:"取消",close:"关闭",prevImage:"上一张图片",nextImage:"下一张图片",desc:"详情",feature:"主要特色",explain:"该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。",hint:"发现新内容可用",update:"新内容已就绪"},"/en/":{install:"Install",iOSInstall:"Tap the share button and then 'Add to Home Screen'",cancel:"Cancel",close:"Close",prevImage:"Previous Image",nextImage:"Next Image",desc:"Description",feature:"Key Features",explain:"This app can be installed on your PC or mobile device. This will allow this web app to look and behave like any other installed app. You will find it in your app lists and be able to pin it to your home screen, start menus or task bars. This installed web app will also be able to safely interact with other apps and your operating system. ",hint:"New content found.",update:"New content is available."},"/":{install:"Install",iOSInstall:"Tap the share button and then 'Add to Home Screen'",cancel:"Cancel",close:"Close",prevImage:"Previous Image",nextImage:"Next Image",desc:"Description",feature:"Key Features",explain:"This app can be installed on your PC or mobile device. This will allow this web app to look and behave like any other installed app. You will find it in your app lists and be able to pin it to your home screen, start menus or task bars. This installed web app will also be able to safely interact with other apps and your operating system. ",hint:"New content found.",update:"New content is available."}};var Sl=E({name:"SWHintPopup",setup(e,{slots:t}){const a=ve(Pl),n=k(!1),o=()=>{n.value&&(window.location.reload(!0),n.value=!1)};return R(()=>{const l=Ol();l.on("updatefound",()=>{navigator.serviceWorker.getRegistration().then(i=>{i&&i.active&&(n.value=!0)})}),l.on("updated",()=>{n.value=!1})}),()=>r(se,{name:"popup"},()=>{var l;return((l=t.default)==null?void 0:l.call(t,{enabled:n.value,uninstall:o}))||(n.value?r("button",{type:"button",class:"sw-hint-popup",tabindex:0,onClick:()=>o()},[a.value.hint,r("span",{class:"icon-wrapper"},r(Ja))]):null)})}});const Dl=H({setup:()=>{Il()},rootComponents:[Sl]}),Xa=()=>{const e=D();return m(()=>e.value.readingTime??null)},Ke=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"}},$l=(e,t)=>{const{minutes:a,words:n}=e,{less1Minute:o,word:l,time:i}=t;return{time:a<1?o:i.replace("$time",Math.round(a).toString()),words:l.replace("$word",n.toString())}},Kt={words:"",time:""},Rl=()=>Ke?ve(Ke):m(()=>null),xl=()=>{if(typeof Ke>"u")return m(()=>Kt);const e=Xa(),t=Rl();return m(()=>e.value&&t.value?$l(e.value,t.value):Kt)},le=()=>Ga(),$=()=>Qr(),Fe=()=>m(()=>!!le().value.pure);var Qt=E({name:"EmptyComponent",setup:()=>()=>null});const ft={"/zh/features/":["game-launcher","wish-export","achievements","real-time-notes","character-data","hutao-API","develop-plan","character-wiki","dashboard","weapon-wiki","mhy-account-switch","hutao-settings"],"/zh/advanced/":["FAQ","exceptions","known-issue","mihoyo-risk-tip","get-stoken-cookie-from-the-third-party","Gacha-system-and-export-principal","uninstall"],"/zh/statements/":["update-log","bug-report","privacy-notice","tos"],"/en/features/":["game-launcher","wish-export","achievements","real-time-notes","character-data","hutao-API","develop-plan","character-wiki","weapon-wiki","mhy-account-switch","hutao-settings"],"/en/advanced/":["FAQ","exceptions","known-issue","mihoyo-risk-tip","get-stoken-cookie-from-the-third-party","Gacha-system-and-export-principal","uninstall"],"/en/statements/":["update-log","bug-report","privacy-notice","tos"],"/":[]},Za=e=>{const{icon:t="",color:a,size:n}=e,o={};return a&&(o.color=a),n&&(o.height=Number.isNaN(Number(n))?n:`${n}px`),ke(t)?r("img",{class:"icon",src:t,"no-view":"",style:o}):lt(t)?r("img",{class:"icon",src:te(t),"no-view":"",style:o}):r(q("FontIcon"),e)};Za.displayName="HopeIcon";var U=Za,Z=(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))(Z||{}),zl=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(zl||{});const ge=(e,t=!1)=>{const a=G(),{fullPath:n,meta:o,name:l}=st(a,encodeURI(e));return{text:!t&&o[Z.shortTitle]?o[Z.shortTitle]:o[Z.title]||e,link:l==="404"?e:n,...o[Z.icon]?{icon:o[Z.icon]}:{}}},Cl=()=>{const e=G(),t=K();return a=>{if(a)if(lt(a))t.path!==a&&e.push(a);else if(ke(a)||va(a))window&&window.open(a);else{const n=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${n}/${encodeURI(a)}`)}}},en=()=>{const e=$(),t=z();return m(()=>{const{author:a}=t.value;return a?kt(a):a===!1?[]:kt(e.value.author,!1)})},Vl=()=>{const e=z();return m(()=>Lo(e.value.category).map(t=>({name:t,path:""})))},Nl=()=>{const e=z();return m(()=>To(e.value.tag).map(t=>({name:t,path:""})))},Ml=()=>{const e=z(),t=D();return m(()=>{const a=ko(e.value.date);if(a)return a;const{createdTime:n}=t.value.git||{};return n?new Date(n):null})},Bl=()=>{const e=$(),t=D(),a=z(),n=en(),o=Vl(),l=Nl(),i=Ml(),s=Xa(),d=xl(),c=m(()=>({author:n.value,category:o.value,date:i.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:a.value.isOriginal||!1,readingTime:s.value,readingTimeLocale:d.value,pageview:"pageview"in a.value?a.value.pageview:!0})),u=m(()=>"pageInfo"in a.value?a.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:u}},He=()=>{const e=le(),t=k(!1),a=k(!1),n=()=>{t.value=window.innerWidth<=(e.value.mobileBreakPoint||719),a.value=window.innerWidth>=(e.value.pcBreakPoint||1440)};return R(()=>{n(),N("resize",n,!1),N("orientationchange",n,!1)}),{isMobile:t,isPC:a}},tn=Symbol(""),Ae=()=>{const e=J(tn);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Fl=e=>{const t=le(),a=rr(),n=vt("vuepress-theme-hope-scheme","auto"),o=m(()=>t.value.darkmode||"switch"),l=m(()=>{const s=o.value;return s==="disable"?!1:s==="enable"?!0:s==="auto"?a.value:s==="toggle"?n.value==="dark":n.value==="dark"||n.value==="auto"&&a.value}),i=m(()=>{const s=o.value;return s==="switch"||s==="toggle"});e.provide(tn,{canToggle:i,config:o,isDarkmode:l,status:n}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},Hl=()=>{const{isDarkmode:e}=Ae(),t=(a=e.value)=>document.documentElement.setAttribute("data-theme",a?"dark":"light");R(()=>{I(e,t,{immediate:!0})})};var j=E({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],setup(e,{attrs:t,emit:a,slots:n}){const o=K(),l=ba(),i=Ce(e,"config"),s=m(()=>ke(i.value.link)),d=m(()=>va(i.value.link)||Qn(i.value.link)),c=m(()=>d.value?void 0:i.value.target||(s.value?"_blank":void 0)),u=m(()=>c.value==="_blank"),v=m(()=>!s.value&&!d.value&&!u.value),h=m(()=>d.value?void 0:i.value.rel||(u.value?"noopener noreferrer":void 0)),f=m(()=>i.value.ariaLabel||i.value.text),w=m(()=>{if(e.exact)return!1;const y=ye(l.value.locales);return y.length?y.every(g=>g!==i.value.link):i.value.link!=="/"}),L=m(()=>v.value?i.value.activeMatch?new RegExp(i.value.activeMatch).test(o.path):w.value?Ee(o.path,i.value.link):o.path===i.value.link:!1);return()=>{var y,g,O;const{text:P,icon:V,link:M}=i.value;return v.value?r(re,{to:M,"aria-label":f.value,...t,class:["nav-link",{active:L.value},t.class],onFocusout:()=>a("focusout")},()=>{var S,_,T;return((S=n.default)==null?void 0:S.call(n))||[((_=n.before)==null?void 0:_.call(n))||r(U,{icon:V}),P,(T=n.after)==null?void 0:T.call(n)]}):r("a",{href:M,rel:h.value,target:c.value,"aria-label":f.value,...t,class:["nav-link",t.class],onFocusout:()=>a("focusout")},((y=n.default)==null?void 0:y.call(n))||[((g=n.before)==null?void 0:g.call(n))||r(U,{icon:V}),P,e.noExternalLinkIcon?null:r(Wa),(O=n.after)==null?void 0:O.call(n)])}}});const _e=(e,t,a=!1)=>"activeMatch"in t?new RegExp(t.activeMatch).test(e.path):it(e,t.link)?!0:t.children&&!a?t.children.some(n=>_e(e,n)):!1,an=(e,t)=>t.type==="group"?t.children.some(a=>a.type==="group"?an(e,a):a.type==="page"&&_e(e,a,!0))||"prefix"in t&&it(e,t.prefix):!1,nn=(e,t)=>F(e.link)?r(j,{...t,config:e}):r("p",t,[r(U,{icon:e.icon}),e.text]),on=e=>{const t=K();return e?r("ul",{class:"sidebar-sub-headers"},e.map(a=>{const n=_e(t,a,!0);return r("li",{class:"sidebar-sub-header"},[nn(a,{class:["sidebar-link","heading",{active:n}]}),on(a.children)])})):null},Ue=(e="",t="")=>lt(t)?t:`${Yn(e)}${t}`,jl=(e,t)=>{const a=D();return{type:"heading",text:e.title,link:`${a.value.path}#${e.slug}`,children:gt(e.children,t)}},gt=(e,t)=>t>0?e.map(a=>jl(a,t-1)):[],rn=e=>{const t=D();return gt(t.value.headers,e)},Qe=(e,t,a="")=>{const n=D(),o=(l,i=a)=>{var s;const d=F(l)?ge(Ue(i,l)):l.link?{...l,...Re(l.link)?{}:{link:ge(Ue(i,l.link)).link}}:l;if("children"in d){const c=Ue(i,d.prefix),u=d.children==="structure"?ft[c]:d.children;return{type:"group",...d,prefix:c,children:u.map(v=>o(v,c))}}return{type:"page",...d,children:d.link===n.value.path?gt(((s=n.value.headers[0])==null?void 0:s.level)===1?n.value.headers[0].children:n.value.headers,t):[]}};return e.map(l=>o(l))},ql=(e,t)=>{const a=D(),n=ye(e).sort((o,l)=>l.length-o.length);for(const o of n)if(Ee(decodeURI(a.value.path),o)){const l=e[o];return l?Qe(l==="structure"?ft[o]:l==="heading"?rn(t):l,t,o):[]}return console.warn(`${a.value.path} is missing sidebar config.`),[]},Wl=()=>{const e=ae(),t=z(),a=$(),n=t.value.home?!1:t.value.sidebar??a.value.sidebar??"structure",o=t.value.headerDepth??a.value.headerDepth??2;return n===!1?[]:n==="heading"?rn(o):n==="structure"?Qe(ft[e.value],o,e.value):ze(n)?Qe(n,o):at(n)?ql(n,o):[]},ln=Symbol(""),Ul=()=>{const e=m(()=>Wl());tt(ln,e)},_t=()=>{const e=J(ln);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Gl=E({name:"PageFooter",setup(){const e=z(),t=$(),a=en(),n=m(()=>{const{copyright:i,footer:s}=e.value;return s!==!1&&!!(i||s||t.value.displayFooter)}),o=m(()=>{const{footer:i}=e.value;return i===!1?!1:F(i)?i:t.value.footer||""}),l=m(()=>"copyright"in e.value?e.value.copyright:"copyright"in t.value?t.value.copyright:a.value.length?`Copyright © ${new Date().getFullYear()} ${a.value[0].name}`:!1);return()=>n.value?r("footer",{class:"footer-wrapper"},[o.value?r("div",{class:"footer",innerHTML:o.value}):null,l.value?r("div",{class:"copyright",innerHTML:l.value}):null]):null}}),sn=E({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},setup(e,{slots:t}){const a=D(),n=Ce(e,"config"),o=m(()=>n.value.ariaLabel||n.value.text),l=k(!1);I(()=>a.value.path,()=>{l.value=!1});const i=s=>{s.detail===0&&(l.value=!l.value)};return()=>{var s;return r("div",{class:["dropdown-wrapper",{open:l.value}]},[r("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:i},[((s=t.title)==null?void 0:s.call(t))||r("span",{class:"title"},[r(U,{icon:n.value.icon}),e.config.text]),r("span",{class:"arrow"}),r("ul",{class:"nav-dropdown"},n.value.children.map((d,c)=>{const u=c===n.value.children.length-1;return r("li",{class:"dropdown-item"},"children"in d?[r("h4",{class:"dropdown-subtitle"},d.link?r(j,{config:d,onFocusout:()=>{d.children.length===0&&u&&(l.value=!1)}}):r("span",d.text)),r("ul",{class:"dropdown-subitem-wrapper"},d.children.map((v,h)=>r("li",{class:"dropdown-subitem"},r(j,{config:v,onFocusout:()=>{h===d.children.length-1&&u&&(l.value=!1)}}))))]:r(j,{config:d,onFocusout:()=>{u&&(l.value=!1)}}))}))])])}}});const cn=()=>r(x,{name:"i18n"},()=>[r("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"})]);cn.displayName="I18nIcon";const un=(e,t="")=>F(e)?ge(`${t}${e}`):"children"in e?{...e,...e.link&&!Re(e.link)?ge(`${t}${e.link}`):{},children:e.children.map(a=>un(a,`${t}${e.prefix||""}`))}:{...e,link:Re(e.link)?e.link:ge(`${t}${e.link}`).link},dn=()=>m(()=>($().value.navbar||[]).map(e=>un(e))),Kl=()=>{const e=G(),t=K(),a=ae(),n=Me(),o=le(),l=$();return m(()=>{const i=ye(n.value.locales);if(i.length<2)return null;const{path:s,fullPath:d}=e.currentRoute.value,{navbarLocales:c}=l.value;return{text:"",ariaLabel:c==null?void 0:c.selectLangAriaLabel,children:[...i.map(u=>{var v,h,f;const w=((v=n.value.locales)==null?void 0:v[u])??{},L=((h=o.value.locales)==null?void 0:h[u])??{},y=w.lang||"",g=((f=L.navbarLocales)==null?void 0:f.langName)??y;let O;if(y===n.value.lang)O=s;else{const P=s.replace(a.value,u);O=e.getRoutes().some(V=>V.path===P)?d.replace(s,P):L.home??u}return{text:g,link:O}}),...rt(o.value.extraLocales||{}).map(([u,v])=>({text:u,link:v.replace(":route",t.path.replace(a.value,""))}))]}})},Ql=()=>{const e=$(),t=m(()=>e.value.repo||null),a=m(()=>t.value?Ao(t.value):null),n=m(()=>t.value?za(t.value):null),o=m(()=>a.value?e.value.repoLabel??(n.value===null?"Source":n.value):null);return m(()=>!a.value||!o.value||e.value.repoDisplay===!1?null:{type:n.value||"Source",label:o.value,link:a.value})};var Yl=E({name:"LanguageDropdown",setup(){const e=Kl();return()=>e.value?r("div",{class:"nav-item"},r(sn,{class:"i18n-dropdown",config:e.value},{title:()=>{var t;return r(cn,{"aria-label":(t=e.value)==null?void 0:t.ariaLabel,style:{width:"1rem",height:"1rem",verticalAlign:"middle"}})}})):null}}),Jl=E({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=D(),a=Ce(e,"config"),n=m(()=>a.value.ariaLabel||a.value.text),o=k(!1);I(()=>t.value.path,()=>{o.value=!1});const l=(i,s)=>s[s.length-1]===i;return()=>[r("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":n.value,onClick:()=>{o.value=!o.value}},[r("span",{class:"title"},[r(U,{icon:a.value.icon}),e.config.text]),r("span",{class:["arrow",o.value?"down":"end"]})]),r("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},a.value.children.map(i=>r("li",{class:"dropdown-item"},"children"in i?[r("h4",{class:"dropdown-subtitle"},i.link?r(j,{config:i,onFocusout:()=>{l(i,a.value.children)&&i.children.length===0&&(o.value=!1)}}):r("span",i.text)),r("ul",{class:"dropdown-subitem-wrapper"},i.children.map(s=>r("li",{class:"dropdown-subitem"},r(j,{config:s,onFocusout:()=>{l(s,i.children)&&l(i,a.value.children)&&(o.value=!1)}}))))]:r(j,{config:i,onFocusout:()=>{l(i,a.value.children)&&(o.value=!1)}}))))]}}),Xl=E({name:"NavScreenLinks",setup(){const e=dn();return()=>e.value.length?r("nav",{class:"nav-screen-links"},e.value.map(t=>r("div",{class:"navbar-links-item"},"children"in t?r(Jl,{config:t}):r(j,{config:t})))):null}});const vn=()=>r(x,{name:"dark"},()=>r("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"}));vn.displayName="DarkIcon";const pn=()=>r(x,{name:"light"},()=>r("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"}));pn.displayName="LightIcon";const mn=()=>r(x,{name:"auto"},()=>r("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"}));mn.displayName="AutoIcon";const hn=()=>r(x,{name:"enter-fullscreen"},()=>r("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"}));hn.displayName="EnterFullScreenIcon";const fn=()=>r(x,{name:"cancel-fullscreen"},()=>r("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"}));fn.displayName="CancelFullScreenIcon";const gn=()=>r(x,{name:"outlook"},()=>[r("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"})]);gn.displayName="OutlookIcon";var _n=E({name:"AppearanceSwitch",setup(){const{config:e,status:t}=Ae(),a=()=>{e.value==="switch"?t.value={light:"dark",dark:"auto",auto:"light"}[t.value]:t.value=t.value==="light"?"dark":"light"};return()=>r("button",{type:"button",id:"appearance-switch",onClick:()=>a()},[r(mn,{style:{display:t.value==="auto"?"block":"none"}}),r(vn,{style:{display:t.value==="dark"?"block":"none"}}),r(pn,{style:{display:t.value==="light"?"block":"none"}})])}}),Zl=E({name:"AppearanceMode",setup(){const e=$(),{canToggle:t}=Ae(),a=m(()=>e.value.outlookLocales.darkmode);return()=>t.value?r("div",{class:"appearance-wrapper"},[r("label",{class:"appearance-title",for:"appearance-switch"},a.value),r(_n)]):null}}),ei=E({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(a="")=>{const n=document.documentElement.classList,o=ye(e.themeColor).map(l=>`theme-${l}`);if(!a){localStorage.removeItem("theme"),n.remove(...o);return}n.remove(...o.filter(l=>l!==`theme-${a}`)),n.add(`theme-${a}`),localStorage.setItem("theme",a)};return R(()=>{const a=localStorage.getItem("theme");a&&t(a)}),()=>r("ul",{id:"theme-color-picker"},[r("li",r("span",{class:"theme-color",onClick:()=>t()})),rt(e.themeColor).map(([a,n])=>r("li",r("span",{style:{background:n},onClick:()=>t(a)})))])}}),ti=E({name:"ThemeColor",setup(){const e=le(),t=$(),a=m(()=>t.value.outlookLocales.themeColor),n=m(()=>{const{themeColor:o}=e.value;return o===!1?null:o});return()=>n.value?r("div",{class:"theme-color-wrapper"},[r("label",{class:"theme-color-title",for:"theme-color-picker"},a.value),r(ei,{themeColor:n.value})]):null}}),bn=E({name:"ToggleFullScreenButton",setup(){const e=$(),{isSupported:t,isFullscreen:a,toggle:n}=pt(),o=m(()=>e.value.outlookLocales.fullscreen);return()=>t?r("div",{class:"full-screen-wrapper"},[r("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),r("button",{type:"button",class:"full-screen",id:"full-screen-switch",ariaPressed:a.value,onClick:()=>n()},a.value?r(fn):r(hn))]):null}}),yn=E({name:"OutlookSettings",setup(){const e=le(),t=Fe(),a=m(()=>!t.value&&!!e.value.themeColor),n=m(()=>!t.value&&e.value.fullscreen);return()=>r(Be,()=>[a.value?r(ti):null,r(Zl),n.value?r(bn):null])}}),ai=E({name:"NavScreen",props:{show:Boolean},emits:["close"],setup(e,{emit:t,slots:a}){const n=D(),{isMobile:o}=He(),l=k(),i=mt(l);return R(()=>{l.value=document.body,I(o,s=>{!s&&e.show&&(i.value=!1,t("close"))}),I(()=>n.value.path,()=>{i.value=!1,t("close")})}),Ve(()=>{i.value=!1}),()=>r(se,{name:"fade",onEnter:()=>{i.value=!0},onAfterLeave:()=>{i.value=!1}},()=>{var s,d;return e.show?r("div",{id:"nav-screen"},r("div",{class:"container"},[(s=a.before)==null?void 0:s.call(a),r(Xl),r("div",{class:"outlook-wrapper"},r(yn)),(d=a.after)==null?void 0:d.call(a)])):null})}}),ni=E({name:"NavbarBrand",setup(){const e=ae(),t=Me(),a=$(),n=m(()=>a.value.home||e.value),o=m(()=>t.value.title),l=m(()=>a.value.logo?te(a.value.logo):null),i=m(()=>a.value.logoDark?te(a.value.logoDark):null);return()=>r(re,{to:n.value,class:"brand"},()=>[l.value?r("img",{class:["logo",{light:!!i.value}],src:l.value,alt:o.value}):null,i.value?r("img",{class:["logo dark"],src:i.value,alt:o.value}):null,o.value?r("span",{class:["site-name",{"hide-in-pad":l.value&&a.value.hideSiteNameOnMobile!==!1}]},o.value):null])}}),oi=E({name:"NavbarLinks",setup(){const e=dn();return()=>e.value.length?r("nav",{class:"nav-links"},e.value.map(t=>r("div",{class:"nav-item hide-in-mobile"},"children"in t?r(sn,{config:t}):r(j,{config:t})))):null}}),ri=E({name:"RepoLink",components:{BitbucketIcon:Aa,GiteeIcon:Oa,GitHubIcon:La,GitLabIcon:Ta,SourceIcon:Ia},setup(){const e=Ql();return()=>e.value?r("div",{class:"nav-item"},r("a",{class:"repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},r(q(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const wn=({active:e=!1},{emit:t})=>r("button",{type:"button",class:["toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},r("span",{class:"button-container"},[r("span",{class:"button-top"}),r("span",{class:"button-middle"}),r("span",{class:"button-bottom"})]));wn.displayName="ToggleNavbarButton";var li=wn;const Ye=(e,{emit:t})=>r("button",{type:"button",class:"toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},r("span",{class:"icon"}));Ye.displayName="ToggleSidebarButton",Ye.emits=["toggle"];var ii=Ye,si=E({name:"OutlookButton",setup(){const{isSupported:e}=pt(),t=le(),a=Fe(),n=D(),{canToggle:o}=Ae(),l=k(!1),i=m(()=>!a.value&&!!t.value.themeColor),s=m(()=>!a.value&&t.value.fullscreen&&e);return I(()=>n.value.path,()=>{l.value=!1}),()=>o.value||s.value||i.value?r("div",{class:"nav-item hide-in-mobile"},o.value&&!s.value&&!i.value?r(_n):s.value&&!o.value&&!i.value?r(bn):r("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[r(gn),r("div",{class:"outlook-dropdown"},r(yn))])):null}}),ci=E({name:"NavBar",emits:["toggleSidebar"],setup(e,{emit:t,slots:a}){const n=$(),{isMobile:o}=He(),l=k(!1),i=m(()=>{const{navbarAutoHide:u="mobile"}=n.value;return u!=="none"&&(u==="always"||o.value)}),s=m(()=>n.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),d={Brand:ni,Language:Yl,Links:oi,Repo:ri,Outlook:si,Search:Y("Docsearch")?q("Docsearch"):Y("SearchBox")?q("SearchBox"):Qt},c=u=>d[u]??(Y(u)?q(u):Qt);return()=>{var u,v,h,f,w,L;return[r("header",{class:["navbar",{"auto-hide":i.value,"hide-icon":n.value.navbarIcon===!1}],id:"navbar"},[r("div",{class:"navbar-start"},[r(ii,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(u=a.startBefore)==null?void 0:u.call(a),(s.value.start||[]).map(y=>r(c(y))),(v=a.startAfter)==null?void 0:v.call(a)]),r("div",{class:"navbar-center"},[(h=a.centerBefore)==null?void 0:h.call(a),(s.value.center||[]).map(y=>r(c(y))),(f=a.centerAfter)==null?void 0:f.call(a)]),r("div",{class:"navbar-end"},[(w=a.endBefore)==null?void 0:w.call(a),(s.value.end||[]).map(y=>r(c(y))),(L=a.endAfter)==null?void 0:L.call(a),r(li,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),r(ai,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var y;return(y=a.screenTop)==null?void 0:y.call(a)},after:()=>{var y;return(y=a.screenBottom)==null?void 0:y.call(a)}})]}}}),ui=E({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=K();return()=>[nn(e.config,{class:["sidebar-link",`sidebar-${e.config.type}`,{active:_e(t,e.config,!0)}],exact:!0}),on(e.config.children)]}}),di=E({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const a=K(),n=m(()=>_e(a,e.config)),o=m(()=>_e(a,e.config,!0));return()=>{const{collapsible:l,children:i=[],icon:s,prefix:d,link:c,text:u}=e.config;return r("section",{class:"sidebar-group"},[r(l?"button":"p",{class:["sidebar-heading",{clickable:l||c,exact:o.value,active:n.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:v=>{v.key==="Enter"&&t("toggle")}}:{}},[r(U,{icon:s}),c?r(j,{class:"title",config:{text:u,link:c},noExternalLinkIcon:!0}):r("span",{class:"title"},u),l?r("span",{class:["arrow",e.open?"down":"end"]}):null]),e.open||!l?r(En,{key:d,config:i}):null])}}}),En=E({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=K(),a=k(-1),n=o=>{a.value=o===a.value?-1:o};return I(()=>t.path,()=>{const o=e.config.findIndex(l=>an(t,l));a.value=o},{immediate:!0,flush:"post"}),()=>r("ul",{class:"sidebar-links"},e.config.map((o,l)=>r("li",o.type==="group"?r(di,{config:o,open:l===a.value,onToggle:()=>n(l)}):r(ui,{config:o}))))}}),vi=E({name:"SideBar",setup(e,{slots:t}){const a=K(),n=$(),o=_t(),l=k();return R(()=>{I(()=>a.hash,i=>{const s=document.querySelector(`.sidebar a.sidebar-link[href="${a.path}${i}"]`);if(!s)return;const{top:d,height:c}=l.value.getBoundingClientRect(),{top:u,height:v}=s.getBoundingClientRect();ud+c&&s.scrollIntoView(!1)})}),()=>{var i,s,d;return r("aside",{class:["sidebar",{"hide-icon":n.value.sidebarIcon===!1}],id:"sidebar",ref:l},[(i=t.top)==null?void 0:i.call(t),((s=t.default)==null?void 0:s.call(t))||r(En,{config:o.value}),(d=t.bottom)==null?void 0:d.call(t)])}}}),kn=E({name:"CommonWrapper",props:{noNavbar:Boolean,noSidebar:Boolean},setup(e,{slots:t}){const a=G(),n=D(),o=z(),l=$(),{isMobile:i,isPC:s}=He(),[d,c]=Ot(!1),[u,v]=Ot(!1),h=_t(),f=k(!1),w=m(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(n.value.title||l.value.logo||l.value.repo||l.value.navbar)),L=m(()=>e.noSidebar?!1:o.value.sidebar!==!1&&h.value.length!==0&&!o.value.home),y={x:0,y:0},g=S=>{y.x=S.changedTouches[0].clientX,y.y=S.changedTouches[0].clientY},O=S=>{const _=S.changedTouches[0].clientX-y.x,T=S.changedTouches[0].clientY-y.y;Math.abs(_)>Math.abs(T)*1.5&&Math.abs(_)>40&&(_>0&&y.x<=80?c(!0):c(!1))},P=m(()=>o.value.home?!1:o.value.toc||l.value.toc!==!1&&o.value.toc!==!1),V=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let M=0;return N("scroll",$o(()=>{const S=V();S<=58||S{S||c(!1)}),R(()=>{const S=mt(document.body);I(d,T=>{S.value=T});const _=a.afterEach(()=>{c(!1)});Ve(()=>{S.value=!1,_()})}),()=>r(Y("GlobalEncrypt")?q("GlobalEncrypt"):ka,()=>{var S;return r("div",{class:["theme-container",{"no-navbar":!w.value,"no-sidebar":!L.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":P.value,"hide-navbar":f.value,"sidebar-collapsed":!i.value&&!s.value&&u.value,"sidebar-open":i.value&&d.value},o.value.containerClass||""],onTouchStart:g,onTouchEnd:O},[w.value?r(ci,{onToggleSidebar:()=>c()},{startBefore:()=>{var _;return(_=t.navbarStartBefore)==null?void 0:_.call(t)},startAfter:()=>{var _;return(_=t.navbarStartAfter)==null?void 0:_.call(t)},centerBefore:()=>{var _;return(_=t.navbarCenterBefore)==null?void 0:_.call(t)},centerAfter:()=>{var _;return(_=t.navbarCenterAfter)==null?void 0:_.call(t)},endBefore:()=>{var _;return(_=t.navbarEndBefore)==null?void 0:_.call(t)},endAfter:()=>{var _;return(_=t.navbarEndAfter)==null?void 0:_.call(t)},screenTop:()=>{var _;return(_=t.navScreenTop)==null?void 0:_.call(t)},screenBottom:()=>{var _;return(_=t.navScreenBottom)==null?void 0:_.call(t)}}):null,r(se,{name:"fade"},()=>d.value?r("div",{class:"sidebar-mask",onClick:()=>c(!1)}):null),r(se,{name:"fade"},()=>i.value?null:r("div",{class:"toggle-sidebar-wrapper",onClick:()=>v()},r("span",{class:["arrow",u.value?"end":"start"]}))),r(vi,{},{...t.sidebar?{default:()=>{var _;return(_=t.sidebar)==null?void 0:_.call(t)}}:{},top:()=>{var _;return(_=t.sidebarTop)==null?void 0:_.call(t)},bottom:()=>{var _;return(_=t.sidebarBottom)==null?void 0:_.call(t)}}),(S=t.default)==null?void 0:S.call(t),r(Gl)])})}}),fe=E({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},setup(e,{slots:t}){const a=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},n=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>r(e.type==="single"?se:da,{name:"drop",appear:e.appear,onAppear:a,onAfterAppear:n,onEnter:a,onAfterEnter:n,onBeforeLeave:a},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const Je=({custom:e})=>r(wa,{class:["theme-hope-content",{custom:e}]});Je.displayName="MarkdownContent",Je.props={custom:Boolean};var Ln=Je;const Tn=()=>r(x,{name:"author"},()=>r("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"}));Tn.displayName="AuthorIcon";const On=()=>r(x,{name:"calendar"},()=>r("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"}));On.displayName="CalendarIcon";const An=()=>r(x,{name:"category"},()=>r("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"}));An.displayName="CategoryIcon";const In=()=>r(x,{name:"eye"},()=>r("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"}));In.displayName="EyeIcon";const Pn=()=>r(x,{name:"fire"},()=>r("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"}));Pn.displayName="FireIcon";const Sn=()=>r(x,{name:"print"},()=>r("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"}));Sn.displayName="PrintIcon";const Dn=()=>r(x,{name:"tag"},()=>r("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"}));Dn.displayName="TagIcon";const $n=()=>r(x,{name:"timer"},()=>r("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"}));$n.displayName="TimerIcon";const Rn=()=>r(x,{name:"word"},()=>[r("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"}),r("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"})]);Rn.displayName="WordIcon";const ne=()=>{const e=$();return m(()=>e.value.metaLocales)};var pi=E({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=ne();return()=>e.author.length?r("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Tn),r("span",e.author.map(a=>a.url?r("a",{class:"page-author-item",href:a.url,target:"_blank",rel:"noopener noreferrer"},a.name):r("span",{class:"page-author-item"},a.name))),r("span",{property:"author",content:e.author.map(a=>a.name).join(", ")})]):null}}),mi=E({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=G(),a=D(),n=ne(),o=(l,i="")=>{i&&a.value.path!==i&&(l.preventDefault(),t.push(i))};return()=>e.category.length?r("span",{class:"page-category-info","aria-label":`${n.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(An),e.category.map(({name:l,path:i})=>r("span",{class:["page-category-item",{[`category${$a(l,9)}`]:!e.pure,clickable:i}],role:i?"navigation":"",onClick:s=>o(s,i)},l)),r("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),hi=E({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Ne(),a=ne();return()=>e.date?r("span",{class:"page-date-info","aria-label":`${a.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(On),r("span",r(Be,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),r("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),fi=E({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=ne();return()=>e.isOriginal?r("span",{class:"page-original-info"},t.value.origin):null}}),gi=E({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=K(),a=ne(),n=k(),o=k(0);return cr(n,()=>{const l=n.value.textContent;l&&!isNaN(Number(l))&&(o.value=Number(l))},{childList:!0}),()=>e.pageview?r("span",{class:"page-pageview-info","aria-label":`${a.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(o.value<1e3?In:Pn),r("span",{ref:n,class:"waline-pageview-count",id:"ArtalkPV","data-path":F(e.pageview)?e.pageview:te(t.path)},"...")]):null}}),_i=E({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=ne(),a=m(()=>{if(!e.readingTime)return null;const{minutes:n}=e.readingTime;return n<1?"PT1M":`PT${Math.round(n)}M`});return()=>{var n,o;return(n=e.readingTimeLocale)!=null&&n.time?r("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r($n),r("span",(o=e.readingTimeLocale)==null?void 0:o.time),r("meta",{property:"timeRequired",content:a.value})]):null}}}),bi=E({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=G(),a=D(),n=ne(),o=(l,i="")=>{i&&a.value.path!==i&&(l.preventDefault(),t.push(i))};return()=>e.tag.length?r("span",{class:"page-tag-info","aria-label":`${n.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Dn),e.tag.map(({name:l,path:i})=>r("span",{class:["page-tag-item",{[`tag${$a(l,9)}`]:!e.pure,clickable:i}],role:i?"navigation":"",onClick:s=>o(s,i)},l)),r("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),yi=E({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=ne();return()=>{var a,n,o;return(a=e.readingTimeLocale)!=null&&a.words?r("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[r(Rn),r("span",(n=e.readingTimeLocale)==null?void 0:n.words),r("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),wi=E({name:"PageInfo",components:{AuthorInfo:pi,CategoryInfo:mi,DateInfo:hi,OriginalInfo:fi,PageViewInfo:gi,ReadingTimeInfo:_i,TagInfo:bi,WordInfo:yi},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=Fe();return()=>e.items?r("div",{class:"page-info"},e.items.map(a=>r(q(`${a}Info`),{...e.info,pure:t.value}))):null}}),Ei=E({name:"PrintButton",setup(){const e=le(),t=$();return()=>e.value.print===!1?null:r("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},r(Sn))}});const ki=({title:e,level:t,slug:a})=>r(re,{to:`#${a}`,class:["toc-link",`level${t}`]},()=>e),Xe=(e,t)=>{const a=K();return e.length&&t>0?r("ul",{class:"toc-list"},e.map(n=>{const o=Xe(n.children,t-1);return[r("li",{class:["toc-item",{active:it(a,`#${n.slug}`)}]},ki(n)),o?r("li",o):null]})):null};var Li=E({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},setup(e,{slots:t}){const a=K(),n=D(),o=ne(),l=k(),i=k("-1.7rem"),s=c=>{var u;(u=l.value)==null||u.scrollTo({top:c,behavior:"smooth"})},d=()=>{if(l.value){const c=document.querySelector(".toc-item.active");c?i.value=`${c.getBoundingClientRect().top-l.value.getBoundingClientRect().top+l.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return R(()=>{I(()=>a.hash,c=>{if(l.value){const u=document.querySelector(`#toc a.toc-link[href$="${c}"]`);if(!u)return;const{top:v,height:h}=l.value.getBoundingClientRect(),{top:f,height:w}=u.getBoundingClientRect();fv+h&&s(l.value.scrollTop+f+w-v-h)}}),I(()=>a.fullPath,()=>d(),{flush:"post",immediate:!0})}),()=>{var c,u;const v=e.items.length?Xe(e.items,e.headerDepth):n.value.headers?Xe(n.value.headers,e.headerDepth):null;return v?r("div",{class:"toc-place-holder"},[r("aside",{id:"toc"},[(c=t.before)==null?void 0:c.call(t),r("div",{class:"toc-header"},[o.value.toc,r(Ei)]),r("div",{class:"toc-wrapper",ref:l},[v,r("div",{class:"toc-marker",style:{top:i.value}})]),(u=t.after)==null?void 0:u.call(t)])]):null}}}),xn=E({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=D(),a=$(),n=k(),o=({target:l})=>{const i=document.querySelector(l.hash);if(i){const s=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",s)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",s),i.focus(),window.scrollTo(0,0)}};return R(()=>{I(()=>t.value.path,()=>n.value.focus())}),()=>[r("span",{ref:n,tabindex:"-1"}),r("a",{href:`#${e.content}`,class:"skip-link sr-only",onClick:o},a.value.routeLocales.skipToContent)]}});let Ge=null,De=null;const Ti={wait:()=>Ge,pending:()=>{Ge=new Promise(e=>De=e)},resolve:()=>{De==null||De(),Ge=null,De=null}},zn=()=>Ti;var Oi=E({name:"FadeSlideY",setup(e,{slots:t}){const{resolve:a,pending:n}=zn();return()=>r(se,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:a,onBeforeLeave:n},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}}),Ai=E({name:"FeaturePanel",props:{items:{type:Object,default:()=>[]},header:{type:String,default:""}},setup(e){return()=>r("div",{class:"feature-panel"},[e.header?r("h2",{class:"feature-header"},e.header):null,e.items.length?r("div",{class:"feature-wrapper"},e.items.map(t=>{const a=[r("h3",[r(U,{icon:t.icon}),r("span",{innerHTML:t.title})]),r("p",{innerHTML:t.details})];return t.link?Re(t.link)?r("a",{class:"feature-item link",href:t.link,role:"navigation","aria-label":t.title,target:"_blank"},a):r(re,{class:"feature-item link",to:t.link,role:"navigation","aria-label":t.title},()=>a):r("div",{class:"feature-item"},a)})):null])}}),Ii=E({name:"HeroInfo",setup(e,{slots:t}){const a=z(),n=Me(),o=m(()=>a.value.heroText===!1?!1:a.value.heroText||n.value.title||"Hello"),l=m(()=>a.value.tagline===!1?!1:a.value.tagline||n.value.description||"Welcome to your VuePress site"),i=m(()=>a.value.heroImage?te(a.value.heroImage):null),s=m(()=>a.value.heroImageDark?te(a.value.heroImageDark):null),d=m(()=>a.value.heroAlt||o.value||"hero"),c=m(()=>a.value.actions??[]);return()=>{var u,v;return r("header",{class:"hero-info-wrapper"},[((u=t.heroImage)==null?void 0:u.call(t))||r(fe,{appear:!0,type:"group"},()=>[i.value?r("img",{key:"light",class:{light:s.value},src:i.value,alt:d.value}):null,s.value?r("img",{key:"dark",class:"dark",src:s.value,alt:d.value}):null]),((v=t.heroInfo)==null?void 0:v.call(t))||r("div",{class:"hero-info"},[o.value?r(fe,{appear:!0,delay:.04},()=>r("h1",{id:"main-title"},o.value)):null,l.value?r(fe,{appear:!0,delay:.08},()=>r("p",{class:"description"},l.value)):null,c.value.length?r(fe,{appear:!0,delay:.12},()=>r("p",{class:"actions"},c.value.map(h=>r(j,{class:["action-button",h.type||"default"],config:h,noExternalLinkIcon:!0})))):null])])}}}),Pi=E({name:"HopePage",setup(e,{slots:t}){const a=Fe(),n=z(),o=m(()=>{const{features:l}=n.value;return ze(l)?l.some(i=>!("items"in i))?[{items:l}]:l:[]});return()=>{var l,i,s;return r("main",{class:["home project",{pure:a.value}],id:"main-content","aria-labelledby":n.value.heroText===null?void 0:"main-title"},[(l=t.top)==null?void 0:l.call(t),r(Ii),o.value.map(({header:d="",items:c},u)=>r(fe,{appear:!0,delay:.16+u*.08},()=>r(Ai,{header:d,items:c}))),(i=t.center)==null?void 0:i.call(t),r(fe,{appear:!0,delay:.16+o.value.length*.08},()=>r(Ln)),(s=t.bottom)==null?void 0:s.call(t)])}}});const Si=(e,t)=>{const a=e.replace(t,"/").split("/"),n=[];let o=nt(t);return a.forEach((l,i)=>{i!==a.length-1?(o+=`${l}/`,n.push(o)):l!==""&&(o+=l,n.push(o))}),n};var Di=E({name:"BreadCrumb",setup(){const e=G(),t=D(),a=ae(),n=z(),o=$(),l=k([]),i=m(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&o.value.breadcrumb!==!1)&&l.value.length>1),s=m(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&o.value.breadcrumbIcon!==!1),d=()=>{const c=e.getRoutes(),u=Si(t.value.path,a.value).map(v=>{const h=c.find(f=>f.path===v);if(h){const{meta:f,path:w}=st(e,h.path),L=f[Z.shortTitle]||f[Z.title];if(L)return{title:L,icon:f[Z.icon],path:w}}return null}).filter(v=>v!==null);u.length>1&&(l.value=u)};return R(()=>{d(),I(()=>t.value.path,d)}),()=>r("nav",{class:["breadcrumb",{disable:!i.value}]},i.value?r("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},l.value.map((c,u)=>r("li",{class:{"is-active":l.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[r(re,{to:c.path,property:"item",typeof:"WebPage"},()=>[s.value?r(U,{icon:c.icon}):null,r("span",{property:"name"},c.title||"Unknown")]),r("meta",{property:"position",content:u+1})]))):[])}});const Yt=e=>e===!1?!1:F(e)?ge(e,!0):at(e)?e:null,Ze=(e,t,a)=>{const n=e.findIndex(o=>o.link===t);if(n!==-1){const o=e[n+a];return o!=null&&o.link?o:null}for(const o of e)if(o.children){const l=Ze(o.children,t,a);if(l)return l}return null};var $i=E({name:"PageNav",setup(){const e=$(),t=z(),a=_t(),n=D(),o=Cl(),l=m(()=>{const s=Yt(t.value.prev);return s===!1?null:s||(e.value.prevLink===!1?null:Ze(a.value,n.value.path,-1))}),i=m(()=>{const s=Yt(t.value.next);return s===!1?null:s||(e.value.nextLink===!1?null:Ze(a.value,n.value.path,1))});return N("keydown",s=>{s.altKey&&(s.key==="ArrowRight"?i.value&&(o(i.value.link),s.preventDefault()):s.key==="ArrowLeft"&&l.value&&(o(l.value.link),s.preventDefault()))}),()=>l.value||i.value?r("nav",{class:"page-nav"},[l.value?r(j,{class:"prev",config:l.value},()=>{var s,d;return[r("div",{class:"hint"},[r("span",{class:"arrow start"}),e.value.metaLocales.prev]),r("div",{class:"link"},[r(U,{icon:(s=l.value)==null?void 0:s.icon}),(d=l.value)==null?void 0:d.text])]}):null,i.value?r(j,{class:"next",config:i.value},()=>{var s,d;return[r("div",{class:"hint"},[e.value.metaLocales.next,r("span",{class:"arrow end"})]),r("div",{class:"link"},[(s=i.value)==null?void 0:s.text,r(U,{icon:(d=i.value)==null?void 0:d.icon})])]}):null]):null}});const Ri={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"},xi=({docsRepo:e,docsBranch:t,docsDir:a,filePathRelative:n,editLinkPattern:o})=>{if(!n)return null;const l=za(e);let i;return o?i=o:l!==null&&(i=Ri[l]),i?i.replace(/:repo/,ke(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,sa(`${nt(a)}/${n}`)):null},zi=()=>{const e=$(),t=D(),a=z();return m(()=>{const{repo:n,docsRepo:o=n,docsBranch:l="main",docsDir:i="",editLink:s,editLinkPattern:d=""}=e.value;if(!(a.value.editLink??s??!0)||!o)return null;const c=xi({docsRepo:o,docsBranch:l,docsDir:i,editLinkPattern:d,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},Ci=()=>{const e=Me(),t=$(),a=D(),n=z();return m(()=>{var o,l;return!(n.value.lastUpdated??t.value.lastUpdated??!0)||!((o=a.value.git)!=null&&o.updatedTime)?null:new Date((l=a.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},Vi=()=>{const e=$(),t=D(),a=z();return m(()=>{var n;return a.value.contributors??e.value.contributors??!0?((n=t.value.git)==null?void 0:n.contributors)??null:null})};var Ni=E({name:"PageTitle",setup(){const e=D(),t=z(),a=$(),{info:n,items:o}=Bl();return()=>r("div",{class:"page-title"},[r("h1",[a.value.titleIcon===!1?null:r(U,{icon:t.value.icon}),e.value.title]),r(wi,{info:n.value,...o.value===null?{}:{items:o.value}}),r("hr")])}});const Cn=()=>r(x,{name:"edit"},()=>[r("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"}),r("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"})]);Cn.displayName="EditIcon";var Mi=E({name:"PageMeta",setup(){const e=$(),t=zi(),a=Ci(),n=Vi();return()=>{const{metaLocales:o}=e.value;return r("footer",{class:"page-meta"},[t.value?r("div",{class:"meta-item edit-link"},r(j,{class:"label",config:t.value},{before:()=>r(Cn)})):null,r("div",{class:"meta-item git-info"},[a.value?r("div",{class:"update-time"},[r("span",{class:"label"},`${o.lastUpdated}: `),r(Be,()=>r("span",{class:"info"},a.value))]):null,n.value&&n.value.length?r("div",{class:"contributors"},[r("span",{class:"label"},`${o.contributors}: `),n.value.map(({email:l,name:i},s)=>[r("span",{class:"contributor",title:`email: ${l}`},i),s!==n.value.length-1?",":""])]):null])])}}}),Bi=E({name:"NormalPage",setup(e,{slots:t}){const a=z(),n=D(),{isDarkmode:o}=Ae(),l=$(),i=m(()=>a.value.toc||a.value.toc!==!1&&l.value.toc!==!1);return()=>r("main",{class:"page",id:"main-content"},r(Y("LocalEncrypt")?q("LocalEncrypt"):ka,()=>{var s,d,c,u;return[(s=t.top)==null?void 0:s.call(t),a.value.cover?r("img",{class:"page-cover",src:a.value.cover,alt:n.value.title,"no-view":""}):null,r(Di),r(Ni),i.value?r(Li,{headerDepth:a.value.headerDepth??l.value.headerDepth??2},{before:()=>{var v;return(v=t.tocBefore)==null?void 0:v.call(t)},after:()=>{var v;return(v=t.tocAfter)==null?void 0:v.call(t)}}):null,(d=t.contentBefore)==null?void 0:d.call(t),r(Ln),(c=t.contentAfter)==null?void 0:c.call(t),r(Mi),r($i),Y("CommentService")?r(q("CommentService"),{darkmode:o.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),Fi=E({name:"Layout",setup(){$();const e=D(),t=z(),{isMobile:a}=He(),n=m(()=>"none");return()=>[r(xn),r(kn,{},{default:()=>t.value.home?r(Pi):r(Oi,()=>r(Bi,{key:e.value.path})),...n.value!=="none"?{navScreenBottom:()=>r(q("BloggerInfo"))}:{},...!a.value&&n.value==="always"?{sidebar:()=>r(q("BloggerInfo"))}:{}})]}}),Hi=E({name:"NotFoundHint",setup(){const e=$(),t=()=>{const a=e.value.routeLocales.notFoundMsg;return a[Math.floor(Math.random()*a.length)]};return()=>r("div",{class:"not-found-hint"},[r("p",{class:"error-code"},"404"),r("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),r("p",{class:"error-hint"},t())])}}),ji=E({name:"NotFound",setup(e,{slots:t}){const a=ae(),n=$(),{navigate:o}=Jn({to:n.value.home??a.value});return()=>[r(xn),r(kn,{noSidebar:!0},()=>{var l;return r("main",{class:"page not-found",id:"main-content"},((l=t.default)==null?void 0:l.call(t))||[r(Hi),r("div",{class:"actions"},[r("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},n.value.routeLocales.back),r("button",{type:"button",class:"action-button",onClick:()=>o()},n.value.routeLocales.home)])])})]}});const qi=H({enhance:({app:e,router:t})=>{const{scrollBehavior:a}=t.options;t.options.scrollBehavior=async(...n)=>(await zn().wait(),a(...n)),Fl(e),e.component("HopeIcon",U)},setup:()=>{Hl(),Ul()},layouts:{Layout:Fi,NotFound:ji}});var Jt;const Vn=typeof window<"u",Wi=e=>typeof e=="string",Ui=()=>{};Vn&&((Jt=window==null?void 0:window.navigator)!=null&&Jt.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Nn(e){return typeof e=="function"?e():me(e)}function Gi(e){return e}function Ki(e){return ca()?(ua(e),!0):!1}function Qi(e){var t;const a=Nn(e);return(t=a==null?void 0:a.$el)!=null?t:a}const Yi=Vn?window:void 0;function Ji(...e){let t,a,n,o;if(Wi(e[0])||Array.isArray(e[0])?([a,n,o]=e,t=Yi):[t,a,n,o]=e,!t)return Ui;Array.isArray(a)||(a=[a]),Array.isArray(n)||(n=[n]);const l=[],i=()=>{l.forEach(u=>u()),l.length=0},s=(u,v,h,f)=>(u.addEventListener(v,h,f),()=>u.removeEventListener(v,h,f)),d=I(()=>[Qi(t),Nn(o)],([u,v])=>{i(),u&&l.push(...a.flatMap(h=>n.map(f=>s(u,h,f,v))))},{immediate:!0,flush:"post"}),c=()=>{d(),i()};return Ki(c),c}const Xt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Zt="__vueuse_ssr_handlers__";Xt[Zt]=Xt[Zt]||{};var ea;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(ea||(ea={}));var Xi=Object.defineProperty,ta=Object.getOwnPropertySymbols,Zi=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,aa=(e,t,a)=>t in e?Xi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ts=(e,t)=>{for(var a in t||(t={}))Zi.call(t,a)&&aa(e,a,t[a]);if(ta)for(var a of ta(t))es.call(t,a)&&aa(e,a,t[a]);return e};const as={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};ts({linear:Gi},as);const ns=e=>{const t=Ji("keydown",a=>{a.key==="k"&&(a.ctrlKey||a.metaKey)&&(a.preventDefault(),e(),t())})},os=e=>e.button===1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey,rs=()=>{const e=G();return{hitComponent:({hit:t,children:a})=>({type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:t.url,onClick:n=>{os(n)||(n.preventDefault(),e.push(yt(t.url,"/")))},children:a},__v:null}),navigator:{navigate:({itemUrl:t})=>{e.push(yt(t,"/"))}},transformSearchClient:t=>{const a=qa(t.search,500);return{...t,search:async(...n)=>a(...n)}}}},ls=(e=[],t)=>[`lang:${t}`,...ze(e)?e:[e]],is=({buttonText:e="Search",buttonAriaLabel:t=e}={})=>``,ss=16,Mn=()=>{if(document.querySelector(".DocSearch-Modal"))return;const e=new Event("keydown");e.key="k",e.metaKey=!0,window.dispatchEvent(e),setTimeout(Mn,ss)},cs=e=>{const t="algolia-preconnect";(window.requestIdleCallback||setTimeout)(()=>{if(document.head.querySelector(`#${t}`))return;const n=document.createElement("link");n.id=t,n.rel="preconnect",n.href=`https://${e}-dsn.algolia.net`,n.crossOrigin="",document.head.appendChild(n)})},us={appId:"28CTGDOOQD",apiKey:"72d7a9a0f9f0466218ea19988886dce8",indexName:"hutao",locales:{"/zh/":{placeholder:"搜索文档",translations:{button:{buttonText:"搜索文档",buttonAriaLabel:"搜索文档"},modal:{searchBox:{resetButtonTitle:"清除查询条件",resetButtonAriaLabel:"清除查询条件",cancelButtonText:"取消",cancelButtonAriaLabel:"取消"},startScreen:{recentSearchesTitle:"搜索历史",noRecentSearchesText:"没有搜索历史",saveRecentSearchButtonTitle:"保存至搜索历史",removeRecentSearchButtonTitle:"从搜索历史中移除",favoriteSearchesTitle:"收藏",removeFavoriteSearchButtonTitle:"从收藏中移除"},errorScreen:{titleText:"无法获取结果",helpText:"你可能需要检查你的网络连接"},footer:{selectText:"选择",navigateText:"切换",closeText:"关闭",searchByText:"搜索提供者"},noResultsScreen:{noResultsText:"无法找到相关结果",suggestedQueryText:"你可以尝试查询",reportMissingResultsText:"你认为该查询应该有结果?",reportMissingResultsLinkText:"点击反馈"}}}},"/en/":{placeholder:"Search documents",translations:{button:{buttonText:"Search documents"}}}}};p(()=>import("./style-e9220a04.js"),[]),p(()=>import("./docsearch-1d421ddb.js"),[]);const ds=E({name:"Docsearch",props:{containerId:{type:String,required:!1,default:"docsearch-container"},options:{type:Object,required:!1,default:()=>us}},setup(e){const t=rs(),a=Ne(),n=ae(),o=k(!1),l=k(!1),i=m(()=>{var c;return{...e.options,...(c=e.options.locales)==null?void 0:c[n.value]}}),s=async()=>{var u;const{default:c}=await p(()=>import("./index-ade63bb5.js"),[]);c({...t,...i.value,container:`#${e.containerId}`,searchParameters:{...i.value.searchParameters,facetFilters:ls((u=i.value.searchParameters)==null?void 0:u.facetFilters,a.value)}}),o.value=!0},d=()=>{l.value||o.value||(l.value=!0,s(),Mn(),I(n,s))};return ns(d),R(()=>cs(i.value.appId)),()=>{var c;return[r("div",{id:e.containerId,style:{display:o.value?"block":"none"}}),o.value?null:r("div",{onClick:d,innerHTML:is((c=i.value.translations)==null?void 0:c.button)})]}}}),vs=H({enhance({app:e}){e.component("Docsearch",ds)}}),ps=e=>{if(window.dataLayer&&window.gtag)return;const t=document.createElement("script");t.src=`https://www.googletagmanager.com/gtag/js?id=${e.id}`,t.async=!0,document.head.appendChild(t),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),e.debug?gtag("config",e.id,{debug_mode:!0}):gtag("config",e.id)},ms={id:"G-F3LFJCE3RM"},hs=H({enhance(){ps(ms)}});const Bn={autoLocale:!0,switchLocale:"modal",localeConfig:{0:["/en/",["en-US","en-UK","en"]],1:["/zh/",["zh-CN","zh-TW","zh"]],"/zh/":["zh-CN"],"/en/":["en-US"]},defaultLocale:"/en/",localeFallback:!0,defaultBehavior:"defaultLocale"},na=rt(Bn.localeConfig),oa={"/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:ra}=Bn,la=wr("VUEPRESS_REDIRECT_LOCALES",{});var fs=E({name:"LanguageSwitch",setup(){const e=br(),t=K(),a=G(),n=ae(),o=k(!1),l=m(()=>{if(na.some(([c])=>n.value===c)){for(const c of e.value)for(const[u,v]of na)if(v.includes(c))return u===n.value?null:{lang:c,localePath:u}}return null}),i=m(()=>{if(l.value){const{lang:c,localePath:u}=l.value,v=[oa[n.value],oa[u]];return{hint:v.map(({hint:h})=>h.replace("$1",c)),switch:v.map(({switch:h})=>h.replace("$1",c)).join(" / "),cancel:v.map(({cancel:h})=>h).join(" / ")}}return null}),s=m(()=>l.value?t.path.replace(n.value,l.value.localePath):null),d=()=>{la.value[n.value]=!0,o.value=!1};return R(()=>{const c=mt(document.body);la.value[n.value]||(l.value?ra==="direct"?a.replace(s.value):ra==="modal"?o.value=!0:o.value=!1:o.value=!1),I(o,u=>{c.value=u},{immediate:!0}),Ve(()=>{c.value=!1})}),()=>o.value?r(da,{name:"lang-modal-fade"},()=>{var c,u,v;return o.value?[r("div",{key:"mask",class:"lang-modal-mask"}),r("div",{key:"popup",class:"lang-modal-wrapper"},[r("div",{class:"lang-modal-content"},(c=i.value)==null?void 0:c.hint.map(h=>r("p",h))),r("button",{type:"button",class:"lang-modal-action primary",onClick:()=>{d(),a.replace(s.value)}},(u=i.value)==null?void 0:u.switch),r("button",{type:"button",class:"lang-modal-action",onClick:()=>d()},(v=i.value)==null?void 0:v.cancel)])]:[]}):null}}),gs=H({setup(){},rootComponents:[fs]});const $e=[fo,Dr,Vr,Mr,Hr,Ur,Jr,il,ml,fl,Ll,Dl,qi,vs,hs,gs],_s=[["v-2d0a870d","/en/",{y:"h",t:"Home",i:"home"},["/en/index.html","/en/README.md"]],["v-082946dd","/en/community.html",{y:"a",t:"Join Community"},["/en/community","/en/community.md"]],["v-038e810e","/en/i18n.html",{y:"a",t:"Localization"},["/en/i18n","/en/i18n.md"]],["v-586858ed","/en/project.html",{y:"a",t:"Project"},["/en/project","/en/project.md"]],["v-0c01f6a4","/en/quick-start.html",{y:"a",t:"Quick Start"},["/en/quick-start","/en/quick-start.md"]],["v-23b9870a","/en/side-load.html",{y:"a",t:""},["/en/side-load","/en/side-load.md"]],["v-7d29d7d8","/en/star-request.html",{y:"a",t:""},["/en/star-request","/en/star-request.md"]],["v-2d0ad528","/zh/",{y:"h",t:"首页",i:"home"},["/zh/index.html","/zh/README.md"]],["v-5cad49b8","/zh/community.html",{y:"a",t:"加入用户社区"},["/zh/community","/zh/community.md"]],["v-27c4e153","/zh/i18n.html",{y:"a",t:"国际化支持"},["/zh/i18n","/zh/i18n.md"]],["v-6c355688","/zh/project.html",{y:"a",t:"项目说明"},["/zh/project","/zh/project.md"]],["v-4f90aebf","/zh/quick-start.html",{y:"a",t:"快速开始"},["/zh/quick-start","/zh/quick-start.md"]],["v-783d89e5","/zh/side-load.html",{y:"a",t:""},["/zh/side-load","/zh/side-load.md"]],["v-a91bb9c6","/zh/star-request.html",{y:"a",t:""},["/zh/star-request","/zh/star-request.md"]],["v-1bd4ef83","/en/advanced/FAQ.html",{y:"a",t:"FAQ",i:"ask",O:1},["/en/advanced/FAQ","/en/advanced/FAQ.md"]],["v-5c3f740a","/en/advanced/Gacha-system-and-export-principal.html",{y:"a",t:"祈愿系统与导出原理",i:"read",O:7},["/en/advanced/Gacha-system-and-export-principal","/en/advanced/Gacha-system-and-export-principal.md"]],["v-5f449840","/en/advanced/",{y:"a",t:"Advanced",I:0},["/en/advanced/index.html","/en/advanced/README.md"]],["v-1a028d16","/en/advanced/exceptions.html",{y:"a",t:"Common Program Exceptions",i:"debug",O:2},["/en/advanced/exceptions","/en/advanced/exceptions.md"]],["v-bd668802","/en/advanced/get-stoken-cookie-from-the-third-party.html",{y:"a",t:"使用第三方工具获取有 Stoken 的 cookie",i:"read",O:6},["/en/advanced/get-stoken-cookie-from-the-third-party","/en/advanced/get-stoken-cookie-from-the-third-party.md"]],["v-51647c4a","/en/advanced/known-issue.html",{y:"a",t:"Known Issue",i:"tool",O:3},["/en/advanced/known-issue","/en/advanced/known-issue.md"]],["v-031e5d68","/en/advanced/mihoyo-risk-tip.html",{y:"a",t:"Account Risk Warning from MiHoYo BBS",i:"warn",O:4},["/en/advanced/mihoyo-risk-tip","/en/advanced/mihoyo-risk-tip.md"]],["v-bbae7dd2","/en/advanced/uninstall.html",{y:"a",t:"Uninstall Snap Hutao",i:"delete",O:8},["/en/advanced/uninstall","/en/advanced/uninstall.md"]],["v-30f089b6","/en/features/",{y:"a",t:"Features",I:0},["/en/features/index.html","/en/features/README.md"]],["v-699a13b0","/en/features/achievements.html",{y:"a",t:"Achievement Management",O:3},["/en/features/achievements","/en/features/achievements.md"]],["v-f3692af4","/en/features/character-data.html",{y:"a",t:"My Characters",O:5},["/en/features/character-data","/en/features/character-data.md"]],["v-10108380","/en/features/character-wiki.html",{y:"a",t:"Character WIKI",O:8},["/en/features/character-wiki","/en/features/character-wiki.md"]],["v-83f6294a","/en/features/develop-plan.html",{y:"a",t:"Development Plan",O:7},["/en/features/develop-plan","/en/features/develop-plan.md"]],["v-7839fe83","/en/features/game-launcher.html",{y:"a",t:"Game Launcher",O:1},["/en/features/game-launcher","/en/features/game-launcher.md"]],["v-0106e0dc","/en/features/hutao-API.html",{y:"a",t:"Hutao Database / Abyss Record",O:6},["/en/features/hutao-API","/en/features/hutao-API.md"]],["v-639b3ef9","/en/features/hutao-settings.html",{y:"a",t:"Software Settings",O:11},["/en/features/hutao-settings","/en/features/hutao-settings.md"]],["v-03aaffb1","/en/features/mhy-account-switch.html",{y:"a",t:"MiHoYo BBS Account Switch",O:10},["/en/features/mhy-account-switch","/en/features/mhy-account-switch.md"]],["v-124743a4","/en/features/real-time-notes.html",{y:"a",t:"Real-time Notes",O:4},["/en/features/real-time-notes","/en/features/real-time-notes.md"]],["v-e30b3c46","/en/features/weapon-wiki.html",{y:"a",t:"Weapon WIKI",O:9},["/en/features/weapon-wiki","/en/features/weapon-wiki.md"]],["v-b8e3a2b8","/en/features/wish-export.html",{y:"a",t:"Wish History",O:2},["/en/features/wish-export","/en/features/wish-export.md"]],["v-a4f9d2c4","/en/statements/",{y:"a",t:"Statements",I:0},["/en/statements/index.html","/en/statements/README.md"]],["v-45ceb024","/en/statements/bug-report.html",{y:"a",t:"Submit Bug Report",i:"debug",O:2},["/en/statements/bug-report","/en/statements/bug-report.md"]],["v-b4085a44","/en/statements/privacy-notice.html",{y:"a",t:"User Data and Privacy Notice",i:"license",O:3},["/en/statements/privacy-notice","/en/statements/privacy-notice.md"]],["v-b1c7a1c2","/en/statements/tos.html",{y:"a",t:"User Agreement and Legal Disclaime",i:"license",O:4},["/en/statements/tos","/en/statements/tos.md"]],["v-52f43e3b","/en/statements/update-log.html",{y:"a",t:"Update Logs",i:"update",O:1},["/en/statements/update-log","/en/statements/update-log.md"]],["v-4a1d3ac8","/zh/advanced/FAQ.html",{y:"a",t:"常见问题",i:"ask",O:1},["/zh/advanced/FAQ","/zh/advanced/FAQ.md"]],["v-b0dd6b00","/zh/advanced/Gacha-system-and-export-principal.html",{y:"a",t:"祈愿系统与导出原理",i:"read",O:7},["/zh/advanced/Gacha-system-and-export-principal","/zh/advanced/Gacha-system-and-export-principal.md"]],["v-16d7d7b6","/zh/advanced/",{y:"a",t:"高级",I:0},["/zh/advanced/index.html","/zh/advanced/README.md"]],["v-c8e5b2e0","/zh/advanced/exceptions.html",{y:"a",t:"常见的程序异常",i:"debug",O:2},["/zh/advanced/exceptions","/zh/advanced/exceptions.md"]],["v-6892c29a","/zh/advanced/get-stoken-cookie-from-the-third-party.html",{y:"a",t:"使用第三方工具获取有 Stoken 的 cookie",i:"read",O:6},["/zh/advanced/get-stoken-cookie-from-the-third-party","/zh/advanced/get-stoken-cookie-from-the-third-party.md"]],["v-8ab89ae2","/zh/advanced/known-issue.html",{y:"a",t:"已知问题",i:"tool",O:3},["/zh/advanced/known-issue","/zh/advanced/known-issue.md"]],["v-9cc22da6","/zh/advanced/mihoyo-risk-tip.html",{y:"a",t:"账号风险及异常提示",i:"warn",O:4},["/zh/advanced/mihoyo-risk-tip","/zh/advanced/mihoyo-risk-tip.md"]],["v-a04a76c8","/zh/advanced/uninstall.html",{y:"a",t:"卸载胡桃工具箱",i:"delete",O:8},["/zh/advanced/uninstall","/zh/advanced/uninstall.md"]],["v-db2a9d92","/zh/development-log/symposium1.html",{y:"a",t:"第一期开发组座谈会"},["/zh/development-log/symposium1","/zh/development-log/symposium1.md"]],["v-d7c0ec54","/zh/development-log/symposium2.html",{y:"a",t:"第二期开发组座谈会"},["/zh/development-log/symposium2","/zh/development-log/symposium2.md"]],["v-0bbe1b6a","/zh/features/",{y:"a",t:"功能指南",I:0},["/zh/features/index.html","/zh/features/README.md"]],["v-2841a60b","/zh/features/achievements.html",{y:"a",t:"成就管理",O:3},["/zh/features/achievements","/zh/features/achievements.md"]],["v-3957d221","/zh/features/character-data.html",{y:"a",t:"属性统计",O:5},["/zh/features/character-data","/zh/features/character-data.md"]],["v-a9f7b44a","/zh/features/character-wiki.html",{y:"a",t:"角色资料",O:8},["/zh/features/character-wiki","/zh/features/character-wiki.md"]],["v-1b6aa6a2","/zh/features/dashboard.html",{y:"a",t:"首页仪表盘",O:8},["/zh/features/dashboard","/zh/features/dashboard.md"]],["v-7cac7db6","/zh/features/develop-plan.html",{y:"a",t:"养成计划",O:7},["/zh/features/develop-plan","/zh/features/develop-plan.md"]],["v-e2f690f0","/zh/features/game-launcher.html",{y:"a",t:"高级启动器",O:1},["/zh/features/game-launcher","/zh/features/game-launcher.md"]],["v-0eb8e461","/zh/features/hutao-API.html",{y:"a",t:"胡桃数据库/深渊统计",O:6},["/zh/features/hutao-API","/zh/features/hutao-API.md"]],["v-16a7a694","/zh/features/hutao-settings.html",{y:"a",t:"软件设置",O:11},["/zh/features/hutao-settings","/zh/features/hutao-settings.md"]],["v-04b421cc","/zh/features/mhy-account-switch.html",{y:"a",t:"米游社多帐号切换",O:10},["/zh/features/mhy-account-switch","/zh/features/mhy-account-switch.md"]],["v-b5462c1a","/zh/features/real-time-notes.html",{y:"a",t:"实时便笺",O:4},["/zh/features/real-time-notes","/zh/features/real-time-notes.md"]],["v-108ccfbc","/zh/features/weapon-wiki.html",{y:"a",t:"武器资料",O:9},["/zh/features/weapon-wiki","/zh/features/weapon-wiki.md"]],["v-0ccd64e9","/zh/features/wish-export.html",{y:"a",t:"祈愿记录",O:2},["/zh/features/wish-export","/zh/features/wish-export.md"]],["v-c4bb0cba","/zh/statements/",{y:"a",t:"声明和公告",I:0},["/zh/statements/index.html","/zh/statements/README.md"]],["v-c87f8b6e","/zh/statements/bug-report.html",{y:"a",t:"提交 BUG 报告",i:"debug",O:2},["/zh/statements/bug-report","/zh/statements/bug-report.md"]],["v-70e6808e","/zh/statements/privacy-notice.html",{y:"a",t:"用户数据和隐私权益",i:"license",O:3},["/zh/statements/privacy-notice","/zh/statements/privacy-notice.md"]],["v-647ebd24","/zh/statements/tos.html",{y:"a",t:"用户使用协议和法律声明",i:"license",O:4},["/zh/statements/tos","/zh/statements/tos.md"]],["v-119bd096","/zh/statements/update-log.html",{y:"a",t:"更新日志",i:"update",O:1},["/zh/statements/update-log","/zh/statements/update-log.md"]],["v-3706649a","/404.html",{y:"p",t:""},["/404"]],["v-42f24836","/zh/development-log/",{y:"p",t:"Development Log"},["/zh/development-log/index.html"]],["v-8daa1a0e","/",{y:"p",t:"Home"},["/index.html"]]];var ia=E({name:"Vuepress",setup(){const e=vo();return()=>r(e.value)}}),bs=()=>_s.reduce((e,[t,a,n,o])=>(e.push({name:t,path:a,component:ia,meta:n},...o.map(l=>({path:l,redirect:a}))),e),[{name:"404",path:"/:catchAll(.*)",component:ia}]),ys=to,ws=()=>{const e=Xn({history:ys(nt("/")),routes:bs(),scrollBehavior:(t,a,n)=>n||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,a)=>{var n;(t.path!==a.path||a===Zn)&&([oe.value]=await Promise.all([X.resolvePageData(t.name),(n=pa[t.name])==null?void 0:n.__asyncLoader()]))}),e},Es=e=>{e.component("ClientOnly",Be),e.component("Content",wa)},ks=(e,t,a)=>{const n=k(t.currentRoute.value.path);I(()=>t.currentRoute.value.path,h=>n.value=h);const o=m(()=>X.resolveLayouts(a)),l=m(()=>X.resolveRouteLocale(he.value.locales,n.value)),i=m(()=>X.resolveSiteLocaleData(he.value,l.value)),s=m(()=>X.resolvePageFrontmatter(oe.value)),d=m(()=>X.resolvePageHeadTitle(oe.value,i.value)),c=m(()=>X.resolvePageHead(d.value,s.value,i.value)),u=m(()=>X.resolvePageLang(oe.value)),v=m(()=>X.resolvePageLayout(oe.value,o.value));return e.provide(io,o),e.provide(ha,s),e.provide(uo,d),e.provide(fa,c),e.provide(ga,u),e.provide(_a,v),e.provide(ot,l),e.provide(ya,i),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>s.value},$head:{get:()=>c.value},$headTitle:{get:()=>d.value},$lang:{get:()=>u.value},$page:{get:()=>oe.value},$routeLocale:{get:()=>l.value},$site:{get:()=>he.value},$siteLocale:{get:()=>i.value},$withBase:{get:()=>te}}),{layouts:o,pageData:oe,pageFrontmatter:s,pageHead:c,pageHeadTitle:d,pageLang:u,pageLayout:v,routeLocale:l,siteData:he,siteLocaleData:i}},Ls=()=>{const e=co(),t=Ne(),a=k([]),n=()=>{e.value.forEach(l=>{const i=Ts(l);i&&a.value.push(i)})},o=()=>{document.documentElement.lang=t.value,a.value.forEach(l=>{l.parentNode===document.head&&document.head.removeChild(l)}),a.value.splice(0,a.value.length),e.value.forEach(l=>{const i=Os(l);i!==null&&(document.head.appendChild(i),a.value.push(i))})};tt(po,o),R(()=>{n(),o(),I(()=>e.value,()=>o())})},Ts=([e,t,a=""])=>{const n=Object.entries(t).map(([s,d])=>F(d)?`[${s}=${JSON.stringify(d)}]`:d===!0?`[${s}]`:"").join(""),o=`head > ${e}${n}`;return Array.from(document.querySelectorAll(o)).find(s=>s.innerText===a)||null},Os=([e,t,a])=>{if(!F(e))return null;const n=document.createElement(e);return at(t)&&Object.entries(t).forEach(([o,l])=>{F(l)?n.setAttribute(o,l):l===!0&&n.setAttribute(o,"")}),F(a)&&n.appendChild(document.createTextNode(a)),n},As=eo,Is=async()=>{var a;const e=As({name:"VuepressApp",setup(){var n;Ls();for(const o of $e)(n=o.setup)==null||n.call(o);return()=>[r(ao),...$e.flatMap(({rootComponents:o=[]})=>o.map(l=>r(l)))]}}),t=ws();Es(e),ks(e,t,$e);for(const n of $e)await((a=n.enhance)==null?void 0:a.call(n,{app:e,router:t,siteData:he}));return e.use(t),{app:e,router:t}};Is().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Ds as a,kr as b,$s as c,Is as createVueApp,Ss as d,vt as u}; diff --git a/assets/component-b575e8e6.js b/assets/component-2df9114b.js similarity index 99% rename from assets/component-b575e8e6.js rename to assets/component-2df9114b.js index 5ccb44884..01b1931a8 100644 --- a/assets/component-b575e8e6.js +++ b/assets/component-2df9114b.js @@ -1,4 +1,4 @@ -var ln=Object.defineProperty;var rn=(l,t,n)=>t in l?ln(l,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[t]=n;var kt=(l,t,n)=>(rn(l,typeof t!="symbol"?t+"":t,n),n);import{c as Ne,r as U,h as Y,o as tt,x as me,y as pt,u,Y as m,Z as y,$ as z,a4 as M,a5 as te,a6 as se,a7 as j,E as an,a8 as wt,b as sn,a1 as ee,a9 as J,aa as Ze,ab as on,s as cn,ac as yt,a0 as Ce,ad as ve,ae as un,j as N,m as ht,w as pn,F as hn,G as dn}from"./framework-8be3ab77.js";import{u as Le,a as gn,b as fn,c as mn,d as vn}from"./app-a0da9155.js";var Be=new Map;function kn(l){var t=Be.get(l);t&&t.destroy()}function wn(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,r=null,a=window.getComputedStyle(e),s=(i=e.value,function(){d({testForHeightReduction:i===""||!e.value.startsWith(i),restoreTextAlign:null}),i=e.value}),c=function(h){e.removeEventListener("autosize:destroy",c),e.removeEventListener("autosize:update",o),e.removeEventListener("input",s),window.removeEventListener("resize",o),Object.keys(h).forEach(function(g){return e.style[g]=h[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",c),e.addEventListener("autosize:update",o),e.addEventListener("input",s),window.addEventListener("resize",o),e.style.overflowX="hidden",e.style.wordWrap="break-word",Be.set(e,{destroy:c,update:o}),o()}function d(h){var g,p,A=h.restoreTextAlign,v=A===void 0?null:A,f=h.testForHeightReduction,S=f===void 0||f,R=a.overflowY;if(e.scrollHeight!==0&&(a.resize==="vertical"?e.style.resize="none":a.resize==="both"&&(e.style.resize="horizontal"),S&&(g=function(C){for(var V=[];C&&C.parentNode&&C.parentNode instanceof Element;)C.parentNode.scrollTop&&V.push([C.parentNode,C.parentNode.scrollTop]),C=C.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=""),p=a.boxSizing==="content-box"?e.scrollHeight-(parseFloat(a.paddingTop)+parseFloat(a.paddingBottom)):e.scrollHeight+parseFloat(a.borderTopWidth)+parseFloat(a.borderBottomWidth),a.maxHeight!=="none"&&p>parseFloat(a.maxHeight)?(a.overflowY==="hidden"&&(e.style.overflow="scroll"),p=parseFloat(a.maxHeight)):a.overflowY!=="hidden"&&(e.style.overflow="hidden"),e.style.height=p+"px",v&&(e.style.textAlign=v),g&&g(),r!==p&&(e.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),r=p),R!==a.overflow&&!v)){var E=a.textAlign;a.overflow==="hidden"&&(e.style.textAlign=E==="start"?"end":"start"),d({restoreTextAlign:E,testForHeightReduction:!0})}}function o(){d({testForHeightReduction:!0,restoreTextAlign:null})}}(n)}),l}).destroy=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],kn),l},De.update=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],wn),l});var bt=De;function Ht(){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=Ht();function yn(l){_e=l}const Vt=/[&<>"']/,bn=new RegExp(Vt.source,"g"),Ft=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,xn=new RegExp(Ft.source,"g"),$n={"&":"&","<":"<",">":">",'"':""","'":"'"},xt=l=>$n[l];function X(l,t){if(t){if(Vt.test(l))return l.replace(bn,xt)}else if(Ft.test(l))return l.replace(xn,xt);return l}const Cn=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Wt(l){return l.replace(Cn,(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 _n=/(^|[^\[])\^/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(_n,"$1"),l=l.replace(e,i),n),getRegex:()=>new RegExp(l,t)};return n}const zn=/[^\w:]/g,Rn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function $t(l,t,n){if(l){let e;try{e=decodeURIComponent(Wt(n)).replace(zn,"").toLowerCase()}catch{return null}if(e.indexOf("javascript:")===0||e.indexOf("vbscript:")===0||e.indexOf("data:")===0)return null}t&&!Rn.test(n)&&(n=En(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const Ke={},Sn=/^[^:]+:\/*[^/]*$/,Ln=/^([^:]+:)[\s\S]*$/,In=/^([^:]+:\/*[^/]*)[\s\S]*$/;function En(l,t){Ke[" "+l]||(Sn.test(l)?Ke[" "+l]=l+"/":Ke[" "+l]=Qe(l,"/",!0)),l=Ke[" "+l];const n=l.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:l.replace(Ln,"$1")+t:t.charAt(0)==="/"?n?t:l.replace(In,"$1")+t:l+t}const Xe={exec:function(){}};function Ct(l,t){const n=l.replace(/\|/g,(r,a,s)=>{let c=!1,d=a;for(;--d>=0&&s[d]==="\\";)c=!c;return c?"|":" |"}),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 zt(l,t,n,e){const i=t.href,r=t.title?X(t.title):null,a=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){e.state.inLink=!0;const s={type:"link",raw:n,href:i,title:r,text:a,tokens:e.inlineTokens(a)};return e.state.inLink=!1,s}return{type:"image",raw:n,href:i,title:r,text:X(a)}}function jn(l,t){const n=l.match(/^(\s+)(?:```)/);if(n===null)return t;const e=n[1];return t.split(` +var ln=Object.defineProperty;var rn=(l,t,n)=>t in l?ln(l,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[t]=n;var kt=(l,t,n)=>(rn(l,typeof t!="symbol"?t+"":t,n),n);import{c as Ne,r as U,h as Y,o as tt,x as me,y as pt,u,Y as m,Z as y,$ as z,a4 as M,a5 as te,a6 as se,a7 as j,E as an,a8 as wt,b as sn,a1 as ee,a9 as J,aa as Ze,ab as on,s as cn,ac as yt,a0 as Ce,ad as ve,ae as un,j as N,m as ht,w as pn,F as hn,G as dn}from"./framework-8be3ab77.js";import{u as Le,a as gn,b as fn,c as mn,d as vn}from"./app-fbca0aa6.js";var Be=new Map;function kn(l){var t=Be.get(l);t&&t.destroy()}function wn(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,r=null,a=window.getComputedStyle(e),s=(i=e.value,function(){d({testForHeightReduction:i===""||!e.value.startsWith(i),restoreTextAlign:null}),i=e.value}),c=function(h){e.removeEventListener("autosize:destroy",c),e.removeEventListener("autosize:update",o),e.removeEventListener("input",s),window.removeEventListener("resize",o),Object.keys(h).forEach(function(g){return e.style[g]=h[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",c),e.addEventListener("autosize:update",o),e.addEventListener("input",s),window.addEventListener("resize",o),e.style.overflowX="hidden",e.style.wordWrap="break-word",Be.set(e,{destroy:c,update:o}),o()}function d(h){var g,p,A=h.restoreTextAlign,v=A===void 0?null:A,f=h.testForHeightReduction,S=f===void 0||f,R=a.overflowY;if(e.scrollHeight!==0&&(a.resize==="vertical"?e.style.resize="none":a.resize==="both"&&(e.style.resize="horizontal"),S&&(g=function(C){for(var V=[];C&&C.parentNode&&C.parentNode instanceof Element;)C.parentNode.scrollTop&&V.push([C.parentNode,C.parentNode.scrollTop]),C=C.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=""),p=a.boxSizing==="content-box"?e.scrollHeight-(parseFloat(a.paddingTop)+parseFloat(a.paddingBottom)):e.scrollHeight+parseFloat(a.borderTopWidth)+parseFloat(a.borderBottomWidth),a.maxHeight!=="none"&&p>parseFloat(a.maxHeight)?(a.overflowY==="hidden"&&(e.style.overflow="scroll"),p=parseFloat(a.maxHeight)):a.overflowY!=="hidden"&&(e.style.overflow="hidden"),e.style.height=p+"px",v&&(e.style.textAlign=v),g&&g(),r!==p&&(e.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),r=p),R!==a.overflow&&!v)){var E=a.textAlign;a.overflow==="hidden"&&(e.style.textAlign=E==="start"?"end":"start"),d({restoreTextAlign:E,testForHeightReduction:!0})}}function o(){d({testForHeightReduction:!0,restoreTextAlign:null})}}(n)}),l}).destroy=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],kn),l},De.update=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],wn),l});var bt=De;function Ht(){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=Ht();function yn(l){_e=l}const Vt=/[&<>"']/,bn=new RegExp(Vt.source,"g"),Ft=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,xn=new RegExp(Ft.source,"g"),$n={"&":"&","<":"<",">":">",'"':""","'":"'"},xt=l=>$n[l];function X(l,t){if(t){if(Vt.test(l))return l.replace(bn,xt)}else if(Ft.test(l))return l.replace(xn,xt);return l}const Cn=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Wt(l){return l.replace(Cn,(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 _n=/(^|[^\[])\^/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(_n,"$1"),l=l.replace(e,i),n),getRegex:()=>new RegExp(l,t)};return n}const zn=/[^\w:]/g,Rn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function $t(l,t,n){if(l){let e;try{e=decodeURIComponent(Wt(n)).replace(zn,"").toLowerCase()}catch{return null}if(e.indexOf("javascript:")===0||e.indexOf("vbscript:")===0||e.indexOf("data:")===0)return null}t&&!Rn.test(n)&&(n=En(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const Ke={},Sn=/^[^:]+:\/*[^/]*$/,Ln=/^([^:]+:)[\s\S]*$/,In=/^([^:]+:\/*[^/]*)[\s\S]*$/;function En(l,t){Ke[" "+l]||(Sn.test(l)?Ke[" "+l]=l+"/":Ke[" "+l]=Qe(l,"/",!0)),l=Ke[" "+l];const n=l.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:l.replace(Ln,"$1")+t:t.charAt(0)==="/"?n?t:l.replace(In,"$1")+t:l+t}const Xe={exec:function(){}};function Ct(l,t){const n=l.replace(/\|/g,(r,a,s)=>{let c=!1,d=a;for(;--d>=0&&s[d]==="\\";)c=!c;return c?"|":" |"}),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 zt(l,t,n,e){const i=t.href,r=t.title?X(t.title):null,a=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){e.state.inLink=!0;const s={type:"link",raw:n,href:i,title:r,text:a,tokens:e.inlineTokens(a)};return e.state.inLink=!1,s}return{type:"image",raw:n,href:i,title:r,text:X(a)}}function jn(l,t){const n=l.match(/^(\s+)(?:```)/);if(n===null)return t;const e=n[1];return t.split(` `).map(i=>{const r=i.match(/^\s+/);if(r===null)return i;const[a]=r;return a.length>=e.length?i.slice(e.length):i}).join(` `)}class dt{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:Qe(e,` `)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const e=n[0],i=jn(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=Qe(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 r=this.lexer.blockTokens(e);return this.lexer.state.top=i,{type:"blockquote",raw:n[0],tokens:r,text:e}}}list(t){let n=this.rules.block.list.exec(t);if(n){let e,i,r,a,s,c,d,o,h,g,p,A,v=n[1].trim();const f=v.length>1,S={type:"list",raw:"",ordered:f,start:f?+v.slice(0,-1):"",loose:!1,items:[]};v=f?`\\d{1,9}\\${v.slice(-1)}`:`\\${v}`,this.options.pedantic&&(v=f?v:"[*+-]");const R=new RegExp(`^( {0,3}${v})((?:[ ][^\\n]*)?(?:\\n|$))`);for(;t&&(A=!1,!(!(n=R.exec(t))||this.rules.block.hr.test(t)));){if(e=n[0],t=t.substring(e.length),o=n[2].split(` diff --git a/assets/dashboard.html-7e34add9.js b/assets/dashboard.html-7e34add9.js new file mode 100644 index 000000000..864e5af46 --- /dev/null +++ b/assets/dashboard.html-7e34add9.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-1b6aa6a2","path":"/zh/features/dashboard.html","title":"首页仪表盘","lang":"zh-CN","frontmatter":{"headerDepth":0,"category":["功能","教程"],"order":8,"redirectFrom":"/features/character-wiki.html","description":"","head":[["meta",{"property":"og:url","content":"https://hut.ao/zh/features/dashboard.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"首页仪表盘"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-05-12T12:14:08.000Z"}],["meta",{"property":"article:author","content":"DGP-Studio"}],["meta",{"property":"article:modified_time","content":"2023-05-12T12:14:08.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"首页仪表盘\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-05-12T12:14:08.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"DGP-Studio\\",\\"url\\":\\"https://github.com/DGP-Studio\\"}]}"]]},"headers":[],"git":{"createdTime":1683893648000,"updatedTime":1683893648000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":1}]},"readingTime":{"minutes":0.06,"words":17},"filePathRelative":"zh/features/dashboard.md","localizedDate":"2023年5月12日","autoDesc":true}');export{t as data}; diff --git a/assets/dashboard.html-99ef1558.js b/assets/dashboard.html-99ef1558.js new file mode 100644 index 000000000..07e1fb17b --- /dev/null +++ b/assets/dashboard.html-99ef1558.js @@ -0,0 +1 @@ +import{_ as a,Y as t,Z as r,$ as e,a0 as s}from"./framework-8be3ab77.js";const o={},c=e("h1",{id:"首页仪表盘",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#首页仪表盘","aria-hidden":"true"},"#"),s(" 首页仪表盘")],-1),d=[c];function n(_,h){return t(),r("div",null,d)}const l=a(o,[["render",n],["__file","dashboard.html.vue"]]);export{l as default}; diff --git a/assets/known-issue.html-81e0281f.js b/assets/known-issue.html-650238de.js similarity index 64% rename from assets/known-issue.html-81e0281f.js rename to assets/known-issue.html-650238de.js index 6de158482..32bb185f7 100644 --- a/assets/known-issue.html-81e0281f.js +++ b/assets/known-issue.html-650238de.js @@ -1 +1 @@ -import{_ as c,Y as d,Z as a,$ as e,a0 as o,a1 as l,a2 as r,a3 as i,F as t}from"./framework-8be3ab77.js";const u={},_=e("h1",{id:"已知问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#已知问题","aria-hidden":"true"},"#"),o(" 已知问题")],-1),h=e("p",null,"该文档包含由所有已知问题和修复计划",-1),p=e("h2",{id:"_1-微软商店下载应用程序",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_1-微软商店下载应用程序","aria-hidden":"true"},"#"),o(" #1 微软商店下载应用程序")],-1),f=e("blockquote",null,[e("p",null,"该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下")],-1),m=e("li",null,"发现于 2023/02/07",-1),b=e("li",null,[o("无法从微软商店下载的原因在于微软在东亚的授权服务器 "),e("code",null,"licensing.mp.microsoft.com"),o(" 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。 当授权服务出现问题时,自然不会再进入到下一步下载环节,这就导致了用户无法安装 "),e("ul",null,[e("li",null,[o("目前仅发现于微软商店新加坡授权服务器 "),e("code",null,"52.137.108.250"),o(" 出现了问题,所以你可以使用代理,切换到其它授权服务器,来实现下载。")])])],-1),g=e("li",null,"授权服务器问题 DGP-Studio 已反馈给微软,等待解决。",-1),k=e("strong",null,"方法 1",-1),x={href:"https://www.dogfight360.com/blog/475/",target:"_blank",rel:"noopener noreferrer"},w=i("
  • 在该工具箱内选择 Microsoft Store - 微软商店 中的 微软授权验证
  • 点击检测延迟
  • 选择一个对你而言延迟最低的服务器,选中后点击应用选中
  • 此时重启微软商店后,你应当可以下载应用了
  • 下载完成后,建议点击清除当前以删除对 Hosts 文件的修改
",1),E=i("
  • 如果你懒得下载,可以尝试将 licensing.mp.microsoft.com 通过修改 Hosts文件解析到以下 IP 地址之一 (收集于 UsbEAm Hosts Editor)
    • 124.108.22.138
    • 92.38.149.175
    • 141.147.180.87
    • 103.151.179.4
  • ",1),H=e("li",null,[e("strong",null,"方法 2"),o(": "),e("ul",null,[e("li",null,"将系统的 DNS 服务器设置为 4.2.2.1 和 4.2.2.2(完事后记得改回原本的设置)")])],-1),S=e("strong",null,"方法 3",-1),I=e("li",null,"使用北美地区的网络代理",-1),L=e("h2",{id:"启用多客户端时会导致游戏抛出数据异常错误",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#启用多客户端时会导致游戏抛出数据异常错误","aria-hidden":"true"},"#"),o(" 启用多客户端时会导致游戏抛出"),e("code",null,"数据异常"),o("错误")],-1),N=e("p",null,"该问题出现于2023年5月初,来源是米哈游反作弊模块更新。关闭多客户端后正常启动游戏即可解决问题。",-1),v=e("h2",{id:"使用实时便笺时程序卡死或闪退",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#使用实时便笺时程序卡死或闪退","aria-hidden":"true"},"#"),o(" 使用实时便笺时程序卡死或闪退")],-1),V={href:"https://github.com/DGP-Studio/Snap.Hutao/issues/706",target:"_blank",rel:"noopener noreferrer"};function A(B,C){const n=t("ExternalLinkIcon"),s=t("RouterLink");return d(),a("div",null,[_,h,p,f,e("ul",null,[m,b,g,e("li",null,[o("临时的解决方案: "),e("ul",null,[e("li",null,[k,o(": "),e("ul",null,[e("li",null,[o("使用"),e("a",x,[o("UsbEAm Hosts Editor"),l(n)]),w]),E])]),H,e("li",null,[S,o(": "),e("ul",null,[I,e("li",null,[o("如果使用加速器或网络代理,你需要"),l(s,{to:"/zh/advanced/exceptions.html#_502-bad-gateway"},{default:r(()=>[o("解除微软商店的 Windows App Container Loopback 限制")]),_:1})])])])])])]),L,N,v,e("p",null,[o("当前一个本地数据库问题会造成胡桃工具箱卡顿,甚至闪退。这个问题计划在接下来的版本中修复,你也可以关注这个 "),e("a",V,[o("GitHub Issue"),l(n)]),o(" 来追踪进度。")])])}const G=c(u,[["render",A],["__file","known-issue.html.vue"]]);export{G as default}; +import{_ as c,Y as d,Z as a,$ as e,a0 as o,a1 as l,a2 as r,a3 as i,F as t}from"./framework-8be3ab77.js";const u={},_=e("h1",{id:"已知问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#已知问题","aria-hidden":"true"},"#"),o(" 已知问题")],-1),h=e("p",null,"该文档包含由所有已知问题和修复计划",-1),p=e("h2",{id:"_1-微软商店下载应用程序",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_1-微软商店下载应用程序","aria-hidden":"true"},"#"),o(" #1 微软商店下载应用程序")],-1),f=e("blockquote",null,[e("p",null,"该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下")],-1),m=e("li",null,"发现于 2023/02/07",-1),b=e("li",null,[o("无法从微软商店下载的原因在于微软在东亚的授权服务器 "),e("code",null,"licensing.mp.microsoft.com"),o(" 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。 当授权服务出现问题时,自然不会再进入到下一步下载环节,这就导致了用户无法安装 "),e("ul",null,[e("li",null,[o("目前仅发现于微软商店新加坡授权服务器 "),e("code",null,"52.137.108.250"),o(" 出现了问题,所以你可以使用代理,切换到其它授权服务器,来实现下载。")])])],-1),x=e("li",null,"授权服务器问题 DGP-Studio 已反馈给微软,等待解决。",-1),g=e("strong",null,"方法 1",-1),k={href:"https://www.dogfight360.com/blog/475/",target:"_blank",rel:"noopener noreferrer"},w=i("
    • 在该工具箱内选择 Microsoft Store - 微软商店 中的 微软授权验证
    • 点击检测延迟
    • 选择一个对你而言延迟最低的服务器,选中后点击应用选中
    • 此时重启微软商店后,你应当可以下载应用了
    • 下载完成后,建议点击清除当前以删除对 Hosts 文件的修改
    ",1),E=i("
  • 如果你懒得下载,可以尝试将 licensing.mp.microsoft.com 通过修改 Hosts文件解析到以下 IP 地址之一 (收集于 UsbEAm Hosts Editor)
    • 124.108.22.138
    • 92.38.149.175
    • 141.147.180.87
    • 103.151.179.4
  • ",1),H=e("li",null,[e("strong",null,"方法 2"),o(": "),e("ul",null,[e("li",null,"将系统的 DNS 服务器设置为 4.2.2.1 和 4.2.2.2(完事后记得改回原本的设置)")])],-1),L=e("strong",null,"方法 3",-1),S=e("li",null,"使用北美地区的网络代理",-1),I=e("h2",{id:"启用多客户端时会导致游戏抛出数据异常错误",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#启用多客户端时会导致游戏抛出数据异常错误","aria-hidden":"true"},"#"),o(" 启用多客户端时会导致游戏抛出"),e("code",null,"数据异常"),o("错误")],-1),N=e("p",null,"该问题出现于2023年5月初,来源是米哈游反作弊模块更新。关闭多客户端后正常启动游戏即可解决问题。",-1),v=e("h2",{id:"使用实时便笺时程序卡死或闪退",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#使用实时便笺时程序卡死或闪退","aria-hidden":"true"},"#"),o(" 使用实时便笺时程序卡死或闪退")],-1),V={href:"https://github.com/DGP-Studio/Snap.Hutao/issues/706",target:"_blank",rel:"noopener noreferrer"},A=e("h2",{id:"游戏快速启动窗口失效",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#游戏快速启动窗口失效","aria-hidden":"true"},"#"),o(" 游戏快速启动窗口失效")],-1),B=e("p",null,[o("在当前版本中,一个已知问题会导致任务栏"),e("code",null,"JumpList"),o("快速启动游戏功能失效,窗口无法打开。 该问题会在下一版本修复。")],-1);function C(D,G){const n=t("ExternalLinkIcon"),s=t("RouterLink");return d(),a("div",null,[_,h,p,f,e("ul",null,[m,b,x,e("li",null,[o("临时的解决方案: "),e("ul",null,[e("li",null,[g,o(": "),e("ul",null,[e("li",null,[o("使用"),e("a",k,[o("UsbEAm Hosts Editor"),l(n)]),w]),E])]),H,e("li",null,[L,o(": "),e("ul",null,[S,e("li",null,[o("如果使用加速器或网络代理,你需要"),l(s,{to:"/zh/advanced/exceptions.html#_502-bad-gateway"},{default:r(()=>[o("解除微软商店的 Windows App Container Loopback 限制")]),_:1})])])])])])]),I,N,v,e("p",null,[o("当前一个本地数据库问题会造成胡桃工具箱卡顿,甚至闪退。这个问题计划在接下来的版本中修复,你也可以关注这个 "),e("a",V,[o("GitHub Issue"),l(n)]),o(" 来追踪进度。")]),A,B])}const R=c(u,[["render",C],["__file","known-issue.html.vue"]]);export{R as default}; diff --git a/assets/known-issue.html-c63e6887.js b/assets/known-issue.html-c04b711c.js similarity index 77% rename from assets/known-issue.html-c63e6887.js rename to assets/known-issue.html-c04b711c.js index 6e6245d4f..eb21da526 100644 --- a/assets/known-issue.html-c63e6887.js +++ b/assets/known-issue.html-c04b711c.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-8ab89ae2","path":"/zh/advanced/known-issue.html","title":"已知问题","lang":"zh-CN","frontmatter":{"headerDepth":2,"icon":"tool","category":["FAQ"],"order":3,"redirectFrom":"/advanced/known-issue.html","description":"该文档包含由所有已知问题和修复计划 #1 微软商店下载应用程序 该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下 发现于 2023/02/07; 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。; ...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://hut.ao/en/advanced/known-issue.html"}],["meta",{"property":"og:url","content":"https://hut.ao/zh/advanced/known-issue.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"已知问题"}],["meta",{"property":"og:description","content":"该文档包含由所有已知问题和修复计划 #1 微软商店下载应用程序 该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下 发现于 2023/02/07; 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。; ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-05-10T14:26:20.000Z"}],["meta",{"property":"article:author","content":"DGP-Studio"}],["meta",{"property":"article:modified_time","content":"2023-05-10T14:26:20.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"已知问题\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-05-10T14:26:20.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"DGP-Studio\\",\\"url\\":\\"https://github.com/DGP-Studio\\"}]}"]]},"headers":[{"level":2,"title":"#1 微软商店下载应用程序","slug":"_1-微软商店下载应用程序","link":"#_1-微软商店下载应用程序","children":[]},{"level":2,"title":"启用多客户端时会导致游戏抛出数据异常错误","slug":"启用多客户端时会导致游戏抛出数据异常错误","link":"#启用多客户端时会导致游戏抛出数据异常错误","children":[]},{"level":2,"title":"使用实时便笺时程序卡死或闪退","slug":"使用实时便笺时程序卡死或闪退","link":"#使用实时便笺时程序卡死或闪退","children":[]}],"git":{"createdTime":1679366029000,"updatedTime":1683728780000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":5},{"name":"Mr.Hope","email":"mister-hope@outlook.com","commits":1}]},"readingTime":{"minutes":2.02,"words":607},"filePathRelative":"zh/advanced/known-issue.md","localizedDate":"2023年3月21日","autoDesc":true}');export{e as data}; +const e=JSON.parse('{"key":"v-8ab89ae2","path":"/zh/advanced/known-issue.html","title":"已知问题","lang":"zh-CN","frontmatter":{"headerDepth":2,"icon":"tool","category":["FAQ"],"order":3,"redirectFrom":"/advanced/known-issue.html","description":"该文档包含由所有已知问题和修复计划 #1 微软商店下载应用程序 该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下 发现于 2023/02/07; 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。; ...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://hut.ao/en/advanced/known-issue.html"}],["meta",{"property":"og:url","content":"https://hut.ao/zh/advanced/known-issue.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"已知问题"}],["meta",{"property":"og:description","content":"该文档包含由所有已知问题和修复计划 #1 微软商店下载应用程序 该问题来源并非胡桃工具箱,属于外部问题 该问题通常仅出现在东亚地区的网络环境下 发现于 2023/02/07; 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。; ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-05-12T12:14:08.000Z"}],["meta",{"property":"article:author","content":"DGP-Studio"}],["meta",{"property":"article:modified_time","content":"2023-05-12T12:14:08.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"已知问题\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-05-12T12:14:08.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"DGP-Studio\\",\\"url\\":\\"https://github.com/DGP-Studio\\"}]}"]]},"headers":[{"level":2,"title":"#1 微软商店下载应用程序","slug":"_1-微软商店下载应用程序","link":"#_1-微软商店下载应用程序","children":[]},{"level":2,"title":"启用多客户端时会导致游戏抛出数据异常错误","slug":"启用多客户端时会导致游戏抛出数据异常错误","link":"#启用多客户端时会导致游戏抛出数据异常错误","children":[]},{"level":2,"title":"使用实时便笺时程序卡死或闪退","slug":"使用实时便笺时程序卡死或闪退","link":"#使用实时便笺时程序卡死或闪退","children":[]},{"level":2,"title":"游戏快速启动窗口失效","slug":"游戏快速启动窗口失效","link":"#游戏快速启动窗口失效","children":[]}],"git":{"createdTime":1679366029000,"updatedTime":1683893648000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":6},{"name":"Mr.Hope","email":"mister-hope@outlook.com","commits":1}]},"readingTime":{"minutes":2.21,"words":663},"filePathRelative":"zh/advanced/known-issue.md","localizedDate":"2023年3月21日","autoDesc":true}');export{e as data}; diff --git a/assets/update-log.html-5b4cba07.js b/assets/update-log.html-5b4cba07.js deleted file mode 100644 index b4b3f154c..000000000 --- a/assets/update-log.html-5b4cba07.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,Y as u,Z as d,$ as i,a0 as e,a1 as l,a2 as c,a3 as o,F as t}from"./framework-8be3ab77.js";const h={},p=i("h1",{id:"update-logs",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#update-logs","aria-hidden":"true"},"#"),e(" Update Logs")],-1),m={id:"_1-6-3",tabindex:"-1"},_=i("a",{class:"header-anchor",href:"#_1-6-3","aria-hidden":"true"},"#",-1),g=o("
    • New
      • Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes
      • Enable notification box will now automatically hide in-app notification
      • CN server option without TapTap account
    • Fix
      • Issue that user cannot get Hutao Cloud bonus after uploading Abyss record
      • Issue that cannot sign in to HoYoLab with Facebook
      • HoYoLab check-in issue
      • Issue when facing empty value during wish history fetch progress
    • Optimize
      • Project refactoring, brings a 20% performance improvement
      • Add localization support for WIKI features
      • Add support for all international channel (which affect payment gateway)
        • Supporting HoYoverse official, Google Pay, Epic
      • When Unlock framerate limit is enabled, limit value can be modified during the game, and will take effect immediately
    ",1),f={id:"_1-6-2",tabindex:"-1"},b=i("a",{class:"header-anchor",href:"#_1-6-2","aria-hidden":"true"},"#",-1),w=o('
    • New Feature
      • Wish history cloud backup based on Hutao account system
        • Currently, sponsors on AFDIAN and beta users will receive corresponding cloud membership time; All registered users will receive 5 days membership time after uploading Abyss record.
        • This feature will be optimized constantly in the following 1.6 versions
    • Fix
      • Issue that BiliBili server account cannot receive data for Real-time Notes
      • Issue on HoYoLab login
    • Optimize
      • Static assets download logic

    1.6.0

    • Add
      • Hutao account system with registration and login available now
      • Support of HoYoLab account login, and add its support to the following features:
        • Web login and Stoken Cookie login
        • Abyss record
        • Daily check-in reward
        • My character
        • Real-time notes
    • Optimization
      • Performance of frame rate unlock
      • Multi-client
      • Now users must unlock advanced features in the settings page before actually using them
      • Settings page layout
      • Tiles image on Windows 10

    1.5.4

    • Add
      • Game Launcher
        • Game resource package download
        • Allow multiple Genshin Impact process to run
        • Allow users to select the specified monitor to start the game
      • New icons have been used
    • Fix
      • Issue caused unlimited file writing during server switch
    • Optimization
      • Optimize default language selection
      • Allow device ID be copied with button
      • Setting page UI optimization

    1.5.1

    • Optimization
      • Replace JumpList menus with JumpTask,
      • Add option to allow user set language over system default setting
      • Add translation contribution entry
      • Add options to reset the image resource
    • Add
      • Monster WIKI
      • Korean translation
      • Internationalized Metadata

    1.4.15

    ',8),x=i("li",null,[e("New "),i("ul",null,[i("li",null,"Static image reset method"),i("li",null,"Cookie refresh")])],-1),y=i("li",null,"Fix the failure of clearing scheduled task in some specific situations",-1),v={href:"https://github.com/DGP-Studio/Snap.Hutao/issues/486",target:"_blank",rel:"noopener noreferrer"},A=i("li",null,"Optimize English and Traditional Chinese translations",-1),k=i("li",null,"Add hints when Windows long path limits are triggered",-1),I=i("li",null,"Optimize wake-up for scheduled tasks",-1),E=i("h2",{id:"_1-4-14",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#_1-4-14","aria-hidden":"true"},"#"),e(" 1.4.14")],-1),z=i("ul",null,[i("li",null,"Fix issue that new dev plan cannot be added"),i("li",null,"Support English UI"),i("li",null,"Other minor bug fix")],-1),F=i("h2",{id:"_1-4-11",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#_1-4-11","aria-hidden":"true"},"#"),e(" 1.4.11")],-1),L=i("ul",null,[i("li",null,"First version on Microsoft Store")],-1);function N(S,C){const a=t("Badge"),n=t("RouterLink"),s=t("ExternalLinkIcon");return u(),d("div",null,[p,i("h2",m,[_,e(" 1.6.3 "),l(a,{text:"latest",type:"tip"})]),g,i("h2",f,[b,e(" 1.6.2 "),l(a,{text:"latest",type:"tip"})]),w,i("ul",null,[x,i("li",null,[e("Fix "),i("ul",null,[i("li",null,[e("Fix "),l(n,{to:"/advanced/known-issue.html#_2-%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%88%87%E6%8D%A2%E5%AF%BC%E8%87%B431-4302%E6%8A%A5%E9%94%99"},{default:c(()=>[e("#2 31-4302 caused by server switch")]),_:1})]),y])]),i("li",null,[e("Optimization "),i("ul",null,[i("li",null,[e("Optimize Dev Plan UI "),i("a",v,[e("#486"),l(s)])]),A,k,I])])]),E,z,F,L])}const O=r(h,[["render",N],["__file","update-log.html.vue"]]);export{O as default}; diff --git a/assets/update-log.html-c18237f6.js b/assets/update-log.html-c18237f6.js new file mode 100644 index 000000000..03b457acc --- /dev/null +++ b/assets/update-log.html-c18237f6.js @@ -0,0 +1 @@ +import{_ as r,Y as u,Z as d,$ as i,a0 as e,a1 as l,a2 as c,a3 as o,F as t}from"./framework-8be3ab77.js";const h={},p=i("h1",{id:"update-logs",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#update-logs","aria-hidden":"true"},"#"),e(" Update Logs")],-1),m={id:"_1-6-3",tabindex:"-1"},_=i("a",{class:"header-anchor",href:"#_1-6-3","aria-hidden":"true"},"#",-1),g=o("
    • New
      • Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes
      • Enable notification box will now automatically hide in-app notification
      • CN server option without TapTap account
    • Fix
      • Issue that user cannot get Hutao Cloud bonus after uploading Abyss record
      • Issue that cannot sign in to HoYoLab with Facebook
      • HoYoLab check-in issue
      • Issue when facing empty value during wish history fetch progress
    • Optimize
      • Project refactoring, brings a 20% performance improvement
      • Add localization support for WIKI features
      • Add support for all international channels (which affect payment gateway)
        • Supporting HoYoverse official, Google Pay, Epic
      • When Unlock framerate limit is enabled, limit value can be modified during the game, and will take effect immediately
    ",1),f={id:"_1-6-2",tabindex:"-1"},b=i("a",{class:"header-anchor",href:"#_1-6-2","aria-hidden":"true"},"#",-1),w=o('
    • New Feature
      • Wish history cloud backup based on Hutao account system
        • Currently, sponsors on AFDIAN and beta users will receive corresponding cloud membership time; All registered users will receive 5 days membership time after uploading Abyss record.
        • This feature will be optimized constantly in the following 1.6 versions
    • Fix
      • Issue that BiliBili server account cannot receive data for Real-time Notes
      • Issue on HoYoLab login
    • Optimize
      • Static assets download logic

    1.6.0

    • Add
      • Hutao account system with registration and login available now
      • Support of HoYoLab account login, and add its support to the following features:
        • Web login and Stoken Cookie login
        • Abyss record
        • Daily check-in reward
        • My character
        • Real-time notes
    • Optimization
      • Performance of frame rate unlock
      • Multi-client
      • Now users must unlock advanced features in the settings page before actually using them
      • Settings page layout
      • Tiles image on Windows 10

    1.5.4

    • Add
      • Game Launcher
        • Game resource package download
        • Allow multiple Genshin Impact process to run
        • Allow users to select the specified monitor to start the game
      • New icons have been used
    • Fix
      • Issue caused unlimited file writing during server switch
    • Optimization
      • Optimize default language selection
      • Allow device ID be copied with button
      • Setting page UI optimization

    1.5.1

    • Optimization
      • Replace JumpList menus with JumpTask,
      • Add option to allow user set language over system default setting
      • Add translation contribution entry
      • Add options to reset the image resource
    • Add
      • Monster WIKI
      • Korean translation
      • Internationalized Metadata

    1.4.15

    ',8),x=i("li",null,[e("New "),i("ul",null,[i("li",null,"Static image reset method"),i("li",null,"Cookie refresh")])],-1),y=i("li",null,"Fix the failure of clearing scheduled task in some specific situations",-1),v={href:"https://github.com/DGP-Studio/Snap.Hutao/issues/486",target:"_blank",rel:"noopener noreferrer"},A=i("li",null,"Optimize English and Traditional Chinese translations",-1),k=i("li",null,"Add hints when Windows long path limits are triggered",-1),I=i("li",null,"Optimize wake-up for scheduled tasks",-1),E=i("h2",{id:"_1-4-14",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#_1-4-14","aria-hidden":"true"},"#"),e(" 1.4.14")],-1),z=i("ul",null,[i("li",null,"Fix issue that new dev plan cannot be added"),i("li",null,"Support English UI"),i("li",null,"Other minor bug fix")],-1),F=i("h2",{id:"_1-4-11",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#_1-4-11","aria-hidden":"true"},"#"),e(" 1.4.11")],-1),L=i("ul",null,[i("li",null,"First version on Microsoft Store")],-1);function N(S,C){const a=t("Badge"),n=t("RouterLink"),s=t("ExternalLinkIcon");return u(),d("div",null,[p,i("h2",m,[_,e(" 1.6.3 "),l(a,{text:"latest",type:"tip"})]),g,i("h2",f,[b,e(" 1.6.2 "),l(a,{text:"latest",type:"tip"})]),w,i("ul",null,[x,i("li",null,[e("Fix "),i("ul",null,[i("li",null,[e("Fix "),l(n,{to:"/advanced/known-issue.html#_2-%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%88%87%E6%8D%A2%E5%AF%BC%E8%87%B431-4302%E6%8A%A5%E9%94%99"},{default:c(()=>[e("#2 31-4302 caused by server switch")]),_:1})]),y])]),i("li",null,[e("Optimization "),i("ul",null,[i("li",null,[e("Optimize Dev Plan UI "),i("a",v,[e("#486"),l(s)])]),A,k,I])])]),E,z,F,L])}const O=r(h,[["render",N],["__file","update-log.html.vue"]]);export{O as default}; diff --git a/assets/update-log.html-eb5fb9c5.js b/assets/update-log.html-dbd29439.js similarity index 87% rename from assets/update-log.html-eb5fb9c5.js rename to assets/update-log.html-dbd29439.js index 416a7c2b3..745364357 100644 --- a/assets/update-log.html-eb5fb9c5.js +++ b/assets/update-log.html-dbd29439.js @@ -1 +1 @@ -const e=JSON.parse('{"key":"v-52f43e3b","path":"/en/statements/update-log.html","title":"Update Logs","lang":"en-US","frontmatter":{"category":["Announcement"],"icon":"update","order":1,"description":"1.6.3 New; Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes; Enable notification box will now automatically hide ...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://hut.ao/zh/statements/update-log.html"}],["meta",{"property":"og:url","content":"https://hut.ao/en/statements/update-log.html"}],["meta",{"property":"og:site_name","content":"Snap Hutao"}],["meta",{"property":"og:title","content":"Update Logs"}],["meta",{"property":"og:description","content":"1.6.3 New; Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes; Enable notification box will now automatically hide ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-05-10T14:26:20.000Z"}],["meta",{"property":"article:author","content":"DGP-Studio"}],["meta",{"property":"article:modified_time","content":"2023-05-10T14:26:20.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Update Logs\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-05-10T14:26:20.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"DGP-Studio\\",\\"url\\":\\"https://github.com/DGP-Studio\\"}]}"]]},"headers":[{"level":2,"title":"1.6.3","slug":"_1-6-3","link":"#_1-6-3","children":[]},{"level":2,"title":"1.6.2","slug":"_1-6-2","link":"#_1-6-2","children":[]},{"level":2,"title":"1.6.0","slug":"_1-6-0","link":"#_1-6-0","children":[]},{"level":2,"title":"1.5.4","slug":"_1-5-4","link":"#_1-5-4","children":[]},{"level":2,"title":"1.5.1","slug":"_1-5-1","link":"#_1-5-1","children":[]},{"level":2,"title":"1.4.15","slug":"_1-4-15","link":"#_1-4-15","children":[]},{"level":2,"title":"1.4.14","slug":"_1-4-14","link":"#_1-4-14","children":[]},{"level":2,"title":"1.4.11","slug":"_1-4-11","link":"#_1-4-11","children":[]}],"git":{"createdTime":1679108734000,"updatedTime":1683728780000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":7},{"name":"Mr.Hope","email":"mister-hope@outlook.com","commits":1}]},"readingTime":{"minutes":1.62,"words":485},"filePathRelative":"en/statements/update-log.md","localizedDate":"March 18, 2023","autoDesc":true}');export{e as data}; +const e=JSON.parse('{"key":"v-52f43e3b","path":"/en/statements/update-log.html","title":"Update Logs","lang":"en-US","frontmatter":{"category":["Announcement"],"icon":"update","order":1,"description":"1.6.3 New; Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes; Enable notification box will now automatically hide ...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://hut.ao/zh/statements/update-log.html"}],["meta",{"property":"og:url","content":"https://hut.ao/en/statements/update-log.html"}],["meta",{"property":"og:site_name","content":"Snap Hutao"}],["meta",{"property":"og:title","content":"Update Logs"}],["meta",{"property":"og:description","content":"1.6.3 New; Home dashboard, including Hutao Cloud account, game launcher, wish history, achievement stat and real-time notes; Enable notification box will now automatically hide ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-05-12T12:14:08.000Z"}],["meta",{"property":"article:author","content":"DGP-Studio"}],["meta",{"property":"article:modified_time","content":"2023-05-12T12:14:08.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Update Logs\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-05-12T12:14:08.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"DGP-Studio\\",\\"url\\":\\"https://github.com/DGP-Studio\\"}]}"]]},"headers":[{"level":2,"title":"1.6.3","slug":"_1-6-3","link":"#_1-6-3","children":[]},{"level":2,"title":"1.6.2","slug":"_1-6-2","link":"#_1-6-2","children":[]},{"level":2,"title":"1.6.0","slug":"_1-6-0","link":"#_1-6-0","children":[]},{"level":2,"title":"1.5.4","slug":"_1-5-4","link":"#_1-5-4","children":[]},{"level":2,"title":"1.5.1","slug":"_1-5-1","link":"#_1-5-1","children":[]},{"level":2,"title":"1.4.15","slug":"_1-4-15","link":"#_1-4-15","children":[]},{"level":2,"title":"1.4.14","slug":"_1-4-14","link":"#_1-4-14","children":[]},{"level":2,"title":"1.4.11","slug":"_1-4-11","link":"#_1-4-11","children":[]}],"git":{"createdTime":1679108734000,"updatedTime":1683893648000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":8},{"name":"Mr.Hope","email":"mister-hope@outlook.com","commits":1}]},"readingTime":{"minutes":1.62,"words":485},"filePathRelative":"en/statements/update-log.md","localizedDate":"March 18, 2023","autoDesc":true}');export{e as data}; diff --git a/en/advanced/FAQ.html b/en/advanced/FAQ.html index 8358300dd..d8dbc2ef6 100644 --- a/en/advanced/FAQ.html +++ b/en/advanced/FAQ.html @@ -31,12 +31,12 @@ } - +

    FAQ

    DGP-StudioFAQAbout 3 min

    FAQ

    How to create desktop shortcut

    • Use Win+R to start run, in the window input shell:AppsFolder Run
    • In the new pop-up window, find Snap Hutao
    • Right lick on it, and click Create shortcut
    • Confirm the operation and you will get the desktop shortcut

    How to create desktop shortcut with Administrator privilege

    Fundamental principle: Use the following PowerShell scrip can run Snap Hutao with Administrator privilege

    Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
     
    • Save Snap Hutao logo to your device
    • In your desktop, select New -> Shortcut
    • In the field of Type the location of the item, input:
    powershell -Command "Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
     
    • Name the shortcut as Snap Hutao
    • Confirm the creation, and you will get this shortcut with PowerShell logo
    • Right-click on this shortcut, select Properties
      • Change value of Run to Minimized
      • Select Change Icon, and select the icon you just downloaded
    • Now, you get a shortcut of Snap Hutao with Administrator privilege
      • You can also pin it to task bar or start menu

    How to run Snap Hutao when Windows starts

    This is a workaround solution

    • Create a bat file, content refers to this Issueopen in new window, it allows bat to run Snap Hutao with Administrator privilege
    • Create a Scheduled Task, run the bat when Windows startup, or drag it to Windows start folder

    Use Snap Hutao to quick start the game

    • Config the game launcher in the settings

    • Pin Snap Hutao on taskbar

    • Right click on Snap Hutao and you will see the quick launcher

      quick-start

    • Select Lauch Game, you will be asked which account to start the game

    Use Snap Hutao with Network Proxy

    Refer to HttpRequestException Error (502) document

    Mojibake in Snap Hutao

    • If you are using Windows 10 and see some button are not display properly
      • You can download Segoe Fluent Icons font
      • You need to install it for all users
    • You can find this font from Microsoftopen in new window

    MiHoYo BBS Account often Lose Login Status

    Snap Hutao use saved MiHoYo BBS cookies to maintain login status. If you log out your account in your browser or other device, cookie will become invalid, and Snap Hutao will also be forced to log out, account will be automatically removed.

    This problem may also be caused by network error, you should check this first; If it's not caused by network issue, you can use Refresh Cookie in the account panel; You can also remove your account manually and add it back again.

    Since October 2022, MiYouShe (Chinese BBS) rapidly increased bot detection and may set users' account as under-risk status, this may cause Snap Hutao failed to check validation of the cookie

    Game Account Lose Login Status in the Launcher

    • There are two factors associated with game account login status: network and device ID
    • This issue usually caused by:
      • Change of public IP address
      • Failed saving operation, no real login status been saved (Snap Hutao cannot detect if the status is real valid)
        • Make sure to enter the game after sign in
        • Make sure the game process is gone after closing the game
        • Detect the account again to save your login status

    Snap Hutao Throws Failed to add Scheduled Task Error

    If you are using Administrator privilege to start real-time notes feature, Snap Hutao's scheduled task will be created as Administrator role. When next time edit real-time notes settings without Administrator privilege, the program will have a lack of privilege to edit the settings and throw out this error.

    Run Snap Hutao as Administrator to edit your settings to solve this issue.

    Stuck at Installing Required Framework when Using MSIX Package to Install

    • When user's OS missing required dependency framework, Windows will download and install it automatically. However, if the user disabled Windows Update or have a bad network, the system is unable to process this installation.
      • Make sure Windows Update is enabled; Snap Hutao's update also relies on it
      • You can also download and install the dependency manually

    Unable to Run Snap Hutao as Administrator

    This issue only occurs in Windows 10 older than 22H2 version

    • When user's OS version older than Windows Build 19045 (aka Windows 10 22H2), Snap Hutao is unable to start when running as Administrator
      • This issue comes from Windows kernel, and it's hard to locate, so we suggest you to update your OS to the latest version
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/Gacha-system-and-export-principal.html b/en/advanced/Gacha-system-and-export-principal.html index 6b99d7092..c63cb34d4 100644 --- a/en/advanced/Gacha-system-and-export-principal.html +++ b/en/advanced/Gacha-system-and-export-principal.html @@ -31,10 +31,10 @@ } - +

    祈愿系统与导出原理

    DGP-StudioFAQAbout 2 min

    祈愿系统与导出原理

    Gacha System and Principal

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

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

    祈愿的获取

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

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

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

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

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

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

    祈愿的存储

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

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

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

    UIGF 格式

    统一可交换祈愿记录标准

    Uniformed Interchangeable GachaLog Format standard

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

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

    祈愿的导入

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

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

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

    祈愿的导出

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

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/exceptions.html b/en/advanced/exceptions.html index 1b612e551..1a716b909 100644 --- a/en/advanced/exceptions.html +++ b/en/advanced/exceptions.html @@ -31,10 +31,10 @@ } - +

    Common Program Exceptions

    DGP-StudioFAQLess than 1 minute

    Common Program Exceptions

    This document covers solutions of foreseeable client error

    RuntimeEnvironmentException

    • Exception: RuntimeEnvironmentException
      • Hint: Unable to set registry key without enabling long path
    • Issue source: Windows long path limit is set to be limited at 256 characters by default
    • Solution: Download EnableLongPaths.zipopen in new window, unzip it and run .reg file as administrator

    Return Code: -10001

    • This error comes directly from MiHoYo BBS, hints include
      • Return Code: -10001
      • Return Code: -100
    • Issue source
      1. Cookie expired
      2. Network error
      3. System time is not accurate
    • Solution
      1. In the account panel, execute Refresh Cookies
      2. Remove your account and add it again
      3. Sync your system time

    HttpRequestException Metadata Download Failed

    403 (Forbidden) / 404 (Not Found)

    Solution: Update your Snap Hutao to latest version

    502 (Bad Gateway)

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

    This HTTP Exception occurs when Snap Hutao failed to fetch remote resource (usually static image and configuration)

    HttpRequestException

    If you are using proxy software, you may need to turn it off or using TUN mode proxy; otherwise you need to use Windows 8 AppContainer Loopback Utilityopen in new window to remove Windows APP Container Loopback limitsopen in new window.

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/get-stoken-cookie-from-the-third-party.html b/en/advanced/get-stoken-cookie-from-the-third-party.html index 7040b4aa3..7da16d171 100644 --- a/en/advanced/get-stoken-cookie-from-the-third-party.html +++ b/en/advanced/get-stoken-cookie-from-the-third-party.html @@ -31,10 +31,10 @@ } - +

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

    DGP-StudioFAQ第三方工具About 2 min

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

    Note

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

    Android

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

    GetToken 开源项目

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

    iOS

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

    • 从 App Store 下载 Streamopen in new window
    • 对域名 api-takumi.mihoyo.com 进行抓包分析
    • 找到并复制带有 Stoken 的数据
      • 形如stuid=****;stoken=v2****;mid=****;
    • 将复制到的 Stoken 发送到已经安装了胡桃工具箱的电脑
    • 胡桃工具箱中的账号登录位置,点击手动输入
    • 将之前获取到的 cookie 输入,此时即可完成登录
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/index.html b/en/advanced/index.html index 717731a32..8c8aeb5f2 100644 --- a/en/advanced/index.html +++ b/en/advanced/index.html @@ -31,10 +31,10 @@ } - + - + diff --git a/en/advanced/known-issue.html b/en/advanced/known-issue.html index b492b8435..423b20448 100644 --- a/en/advanced/known-issue.html +++ b/en/advanced/known-issue.html @@ -31,10 +31,10 @@ } - +

    Known Issue

    DGP-StudioFAQLess than 1 minute

    Known Issue

    This document records known issues that need to be fixed.

    Game Throw Data Exception Error when Enabling Multi-Client Feature

    The issue occurs at early May 2023, and caused by MiHoYo's anti-cheat module update. Disable the multi-client and restart the game to fix it.

    Snap Hutao No Response or Cash when Using Real-time Notes

    A current local database issue will cause Snap Hutao to no response or even crash. This issue is planned to be fixed in the next version, you may also track this issue in GitHubopen in new window

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/mihoyo-risk-tip.html b/en/advanced/mihoyo-risk-tip.html index 5d8533333..74ef1b564 100644 --- a/en/advanced/mihoyo-risk-tip.html +++ b/en/advanced/mihoyo-risk-tip.html @@ -31,10 +31,10 @@ } - +

    Account Risk Warning from MiHoYo BBS

    DGP-StudioFAQLess than 1 minute

    Account Risk Warning from MiHoYo BBS

    image image

    • When Snap Hutao shows the following warning, it means the action is blocked by MiHoYo BBS anti-bot verification system

      • Verification failed. Please check MiHoYo BBS - My Character - DailyNote manually
      • Imperceptible verification failed
    • Solution

      • Solution 1 Recommended
        • Use Refresh Cookie function in the account panel
      • Solution 2:
        • Open MiHoYo BBS mobile application
        • Click Me, find personal profile page
        • Click My Characters
          • Click All Characters or Real-time notes window
        • You may need to manually finish the verification process
          • Process the steps until you are required to verify account
          • If you cannot trigger the verification process, you can change the password

    Tips

    If the risk prompt is too frequent, or the verification cannot be triggered at all, it means that the risk of your account is too high, please change the password, so that the simultaneous login status of multiple devices will be reset

    Note

    • You hardly cannot pass imperceptible verification when your account is login at other remote Genshin tools or login at multiple devices. This is a security designing of MiHoYo BBS, and cannot bypass
    • If you are using multiple MiHoYo BBS account in your device, frequent usage with MiHoYo BBS API will result in your IP address being banned for a period of time (usually no more than 24 hours). This is a security designing of MiHoYo BBS, and cannot bypass
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/advanced/uninstall.html b/en/advanced/uninstall.html index c44f865d3..1d1ebe522 100644 --- a/en/advanced/uninstall.html +++ b/en/advanced/uninstall.html @@ -31,11 +31,11 @@ } - +

    Uninstall Snap Hutao

    DGP-StudioFAQLess than 1 minute

    Uninstall Snap Hutao

    • Clear Real-time Notes Scheduled Task
      • Before version 1.4.15, if not execute this step, scheduled task used to refresh real-time notes may not be deleted,and you may face this issue
        • Method 1 For version <= 1.4.15
          • Launch Snap Hutao, and go to settings page
          • Find Delete All Scheduled Task field, and click on Execute Button Requires administrator privileges
      • Method 2
        • Execute the following PowerShell script
          schtasks /delete /tn SnapHutaoDailyNoteRefreshTask
           
      • Method 3
        • Open Windows Scheduled Task Manager
        • Find SnapHutaoDailyNoteRefreshTask task and delete it
      • Method 4
        • Upgrade to1.5.1 version and open Real-time Notes
        • Close software and remove it
    • Remove the Software
      • Open Start Menu
      • Find or search Snap Hutao
      • Right click on it, and select Unstall
    • Remove data folder (If you want remove it completely)
      • Open and delete %userprofile%/Documents/Hutao
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/community.html b/en/community.html index 2747a0b44..537c7bfda 100644 --- a/en/community.html +++ b/en/community.html @@ -31,10 +31,10 @@ } - +

    Join Community

    DGP-StudioAnnouncementLess than 1 minute

    Join Community

    As open-source software, community power is an important part of the ecology of Snap Hutao, and you can join our user community by following ways.

    If you believe Snap Hutao is a good project and helps you, you can support us by the following ways

    commit_activity hutao-last-commit

    GitHub Discussion

    Snap.Hutao Discussionopen in new window

    QQ Group (CN)

    Discord

    Invite link:https://discord.gg/Yb8bykUKpopen in new window

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/achievements.html b/en/features/achievements.html index 20e6e4b3a..e07f670cb 100644 --- a/en/features/achievements.html +++ b/en/features/achievements.html @@ -31,10 +31,10 @@ } - +

    Achievement Management

    DGP-StudioFeatureTutorialLess than 1 minute

    Achievement Management

    Snap Hutao offers local achievement management feature, users can view and manage status of achievement

    • At first time use, you will follow the instruction to create an archive and name it
    • After that, you are still able to make new archives by click on Create New Archive for other game accounts

    Achievement Import

    • Snap Hutao is using Uniformed Interchangeable Achievement Format Standaropen in new window to store user's achievement data
      • This standard allows user to transmit achievement data between Snap Hutao wiht other achievement tools, such as Achievement exporter
    • You can click on Import at top right menu on Achievement Management page, and select file import to load UIAF formatted data

    Achievement Tools We Recommend

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/character-data.html b/en/features/character-data.html index f3dc845bf..b0f04b990 100644 --- a/en/features/character-data.html +++ b/en/features/character-data.html @@ -31,10 +31,10 @@ } - +

    My Characters

    DGP-StudioFeatureTutorialAbout 2 min

    My Characters

    Info

    This features required logged in MiHoYo BBS account, please refer to MiHoYo BBS Account Switch document for sign in tutorial

    My characters is a character statistics feature that allows Snap Hutao to read character's statistics on the account, including level, constellation, weapon, talent and artifact set; we also provide artifacts rating and CRTI rating for each character.

    属性统计示例图

    Sync Character Data

    Sync from Enka API

    Synchronous Feature

    • Enka API sync data from characters displayed in the in-game character showcase

      • Data includes Artifacts detail data, weapon detail data, talent data
      • Character costume
      • This sync method only support 8 characters at a time
    • In the game, put characters that you need detailed data into the showcase
      • The character showcase allows up to 8 characters at the same time
    • You need to wait for data sync to complete after editing the showcase configuration
      • You may need up to 5 minutes after enable the showcase or re-config the showcase
    • Enter My Characters page in the Snap Hutao, Click Sync Character Data button on the top-right
    • Select Sync from Enka API

    Sync from MiHoYo BBS - My Characters

    Synchronous Feature

    • Data in this sync method comes from My Characters feature in MiHoYo official BSS

      • This method does not contain any artifacts data
      • This method can sync all characters data at a time
    • Enter My Characters page in the Snap Hutao, Click Sync Character Data button on the top-right
    • Select Sync from MiHoYo BBS My Characters

    Sync from MiHoYo BBS - Development Plan

    Synchronous Feature

    • Data in this method comes from Enhancement Progression Calculator feature in MiHoYo official BBS tool set

      • This sync method contains talent level data
      • This sync method can sync all characters data at a time
    • Enter My Characters page in the Snap Hutao, Click Sync Character Data button on the top-right
    • Select Sync from MiHoYo BBS Developement Plan

    Add Selected Character to Development Plan

    • Enter My Characters page in the Snap Hutao, click on character you need to add to development plan
    • Click on Development Plan and enter target level
      • Synchronized data of the character will be pre-filled into current level, and you can change the target level

    rolescal

    • After adding successfully, you can find added development plan in the Dev Plan page in Snap Hutao

    image

    • For tutorial of Dev Plan feature, please refer to Dev Plan document

    Export as Image

    • In My Characters page, you can select a character and then click Export as Image button to create image with your character's data, this will help you to share your character's data
    • The exported image is stored in your clipboard, and you can paste it wherever you need
    • A sample exported image is shown below

    sample-output-image

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/character-wiki.html b/en/features/character-wiki.html index 0f35c3b1c..e91d63fab 100644 --- a/en/features/character-wiki.html +++ b/en/features/character-wiki.html @@ -31,10 +31,10 @@ } - +

    Character WIKI

    DGP-StudioFeatureTutorialLess than 1 minute

    Character WIKI

    characters-wiki

    Character WIKI is a Snap Hutao build-in WIKI feature used to query each character's information.

    Included Data

    • Character list
      • Use the icon above the list, you can change the view between list and grid
      • Click on character's icon or title, and you will be directed to its WIKI page
    • Character information
      • Character information
        • Introduction of the character
        • Numerical attributes value at each level
        • Attributes
    • Talent
      • Introduction
      • Numerical talent value at each level
    • Constellation
    • statistical information on Team, weapon usage, artifact set usage provided by Hutao Database
    • Other information
      • Character tachie
      • Special food
      • Costume
      • Character stories

    Add to Dev Plan

    • At character WIKI page, you can select character and click on Dev Plan on the top right to add it to your Dev Plan
      • The new plan will set the base level as 1
      • If you want to make new Dev Plan based on character you already have, you can try My Character feature
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/develop-plan.html b/en/features/develop-plan.html index 0eebde014..955ba5106 100644 --- a/en/features/develop-plan.html +++ b/en/features/develop-plan.html @@ -31,10 +31,10 @@ } - +

    Development Plan

    DGP-Studio功能教程About 2 min

    Development Plan

    dev-plan

    Info

    Dev Plan is under redesigning, the document will be translated after the refinement.

    添加养成目标进入材料清单

    基于 WIKI 资料添加

    • 在胡桃工具箱的左侧栏目中,点击角色资料武器资料功能
    • 在"胡桃工具箱"的整体界面右上部分,点击养成计算按钮
    • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的起始等级以及目标等级
      • 基于 WIKI 资料添加的养成目标,默认初始值为 1 级

    基于玩家数据添加

    • 在"胡桃工具箱"的左侧栏目中,点击我的角色功能
    • 在选中角色后,点击右上角的养成计算按钮
    • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的"起始等级"以及"目标等级"
      • 基于玩家数据添加的养成目标,默认初始等级为玩家当前的角色等级
      • 请参考属性统计文档以获取更多信息

    背包物品

    • 在"胡桃工具箱"的左侧栏目中,点击"养成计划"功能
    • 点击"背包物品"功能栏
    • 在"胡桃工具箱"的整体界面右上部分,点击"新建计划"按钮
    • 在弹出的"创建新的养成计划"的窗口中,填写需要创建的养成计划名称
      • 此处可勾选"绑定当前选中的账号角色"
      • "新建计划"按钮左侧的下拉选项框,可自行切换不同的养成计划
    • 点击下方的任意物品图标或数字区域,即可手动编辑该种材料的数目
      • 背包物品的具体材料信息,对应于其修改时,所切换至的养成计划
    • 在"胡桃工具箱"的整体界面右上部分,可点击"删除计划"按钮,将当前的养成计划删除
      • 在删除当前养成计划后,处于切换至该养成计划时,输入的背包物品信息将一同删除

    功能说明

    此功能尚在完善阶段,若您有建设性的建议,或发现了显著的问题,请按此页面直接向我们反馈,感谢您的贡献!

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/game-launcher.html b/en/features/game-launcher.html index aed9b6aaa..d5d11da74 100644 --- a/en/features/game-launcher.html +++ b/en/features/game-launcher.html @@ -31,10 +31,10 @@ } - +

    Game Launcher

    DGP-StudioFeatureTutorialAbout 3 min

    Game Launcher

    • Snap Hutao offers advanced game launcher feature allows user to launch the game with self-defined settings
    • Click on the Game Launcher on the sidebar to get into game launcher's page
      • If you are using it at the first time, you will be redirected to Snap Hutao settings page and asked to set your game path
        • When choosing the game path, noticed that you should choose game program instead of launcher program
          • Such as $\Genshin Impact\Genshin Impact Game\YuanShen.exe and $\Genshin Impact\Genshin Impact Game\Genshin Impact.exe
          • Official launcher program is usually $\Genshin Impact\launcher.exe
    • You can make launcher configuration options in the game launcher's page, and then click Launcher button on the top-right to launch the game
      • Launcher options is explained in the document below

    Server Switch

    Privilege Notice

    1. You need to run Snap Hutao as administrator to use this feature
    2. Snap Hutao will create ServerCache folder in the data directory to save required sever switch files
    • Enter Game Launcher page

    • In the General - Server field, select the server you want

      • Current available serves options include:
      OptionServer
      CNMainland China server
      BiliBiliChinese server with BiliBili account system
      Global DefaultHoYoVerse servers
      Global EpicHoYoVerse servers with Epic Store payment gateway
      Global GoogleHoYoVerse servers with Google Pay payment gateway
    • click Launcher button on the top-right to launch the game, Snap Hutao will download server required files and then launch the game

    Game Account Switch

    Tips

    1. The account mentioned in this feature is Genshin game login account instead of HoYoLAB account
    2. Game account switch feature currently only supporting official CN server
    CNBiliBiliGlobal
    Save Login StatusSupportedSupportedSupported
    Switch AccountSupportedNot SupportedTheoretically Supported
    We need community's support for thisopen in new window
    1. Enter Game Launcher page
    2. Click Detect Account field in the General category, Snap Hutao will detect current Genshin Impact's account login status
    3. In this pop-up window, enter an archive name for this account and click Confirm
    4. Go back to the game, sign out and sign in to your another account. Repeat step 2 and 3 to add all your account to Snap Hutao
      • Each saved account are selectable
      • On the right side, there are three buttons, they are:
        • Bind current user account, bind current activated MiHoYo BBS account with this game account, an UID will be display on this archive
        • Rename, rename current account archive name
        • Delete, delete current account archive

    Appearance

    Note

    • In some reported cases, using Snap Hutao with Exclusive Fullscreen mode will cause the game process no response.

      • Suggest to use Borderless or Fullscreen mode if you faced same problem
      • The problem is caused by failure of game embedded browser cannot run
    • Enter Game Launcher page
    • In the Appearance category, there are 6 available options:
      • Exclusive Fullscreen, the game process will run in exclusive fullscreen mode
      • Fullscreen, the game display mode is set to fullscreen
      • Borderless, the game display mode is set to borderless
      • Width, game window width, such as 1920
      • Height, game window height, such as 1080
      • Display, users with multiple displays can use this option to set which display to run the game

    Advanced Features

    Warning

    • Be aware: all advanced features are labeled as Dangeroud Feature; indicating that enabling them means you choose to assume any risk on your own.
    • You need to enable advanced features in Snap Hutao's settings page

    Unlock Frame Rate Limit

    Warning

    • The Unlocker projectopen in new window only affects the UnityPlayer itself, directly affecting the Unity3D engine, and does not have a direct relationship with the game itself. Essentially, it is no different from settings like 120 FPS in mobile devices. However, you should still use it with caution and read the user agreement on your own.
    • Run Snap Hutao as administrator

    • Enter Game Launcher page

    • At the bottom of the page, you can find Unlock Frame Rate Limit option

      • Trigger the switch to enable or disable this feature
      • In the Set Frame Rate Limit field, you can adjust the limit freely
    • Fact that may cause failure in unlocking frame rate limit:

      • Snap Hutao process is not kept in the background
      • V-Sync is not set to off in the game
      • Max Framerate limit is not changed in your graphic card settings
      • Power Saving mode is not disabled in power settings
      • Your graphic card is not powerful enough

    Multi-Client

    Warning

    Multiple instances of the game client is a far more dangerous feature compared to unlocking the framerate limit. You should personally or invite a technically knowledgeable professional to review the code and make your own judgment on whether to use this feature.

    Using this feature may cause the anti-cheat system in Genshin Impact to fail to load, and the game client will report this situation to miHoYo's servers.

    1. Run Snap Hutao as administrator
    2. Enter Game Launcher page
    3. At the bottom of the page, enable Multi-Client option
    4. Click Launch button on the top-right of the window
    5. Wait for 12 seconds before entering the game (open the gate)
    6. Repeat step 4 and 5 to launch next client instance
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/hutao-API.html b/en/features/hutao-API.html index 28b1223aa..a58619861 100644 --- a/en/features/hutao-API.html +++ b/en/features/hutao-API.html @@ -31,10 +31,10 @@ } - +

    Hutao Database / Abyss Record

    DGP-StudioFeatureTutorialAbout 2 min

    Hutao Database / Abyss Record

    Snap Hutao offers two major statistic features associated with Spiral Abyss challenge

    • Abyss Stats on the sidebar is a feature designed to help players who are not familiar with Genshin Impact's battle system to build teams, pass the Abyss and obtain rewards by collecting and displaying challenge stats data from the Spiral Abyss from a large number of players.
    • Abyss Record on the sidebar is a statistical feature that helps individuals review their gaming experience and personal data collection by saving their challenge data from each period of the Spiral Abyss.
      • Many players contribute to the Hutao Database's Abyss Stats dataset by uploading their personal Abyss Records

    character-usage-rate

    View Abyss Stats

    Data Scope Limitation

    All calculated data are based on the player data uploaded to the Hutao Database and cannot represent the average data of all Genshin Impact players. The data is for reference only.

    Stats Data Refresh Cycle

    1. Abyss Stats (character usage, character appearance, teams appearance) wil be automatically reset on 1st and 16th day of each month on the gaming server timezone of your account
      • You can view real-time total uploaded data by clicking Details button in the Abyss Stats page
    2. If user does not upload its record for 30 days, its character constellation data will be reset in the database
    • Enter Abyss Records page by clicking Abyss Stats on the sidebar menu
    • Click Character Usage tab to view character usage rate statistics
      • Character Usage Rate = Character Appearance in this Floor [1] / Number of Player who Own this Character
    • Click Character Appearance tab to view character appearance rate statistics
      • Character Appearance Rate = Character Appearance in this Floor [2] / Total Number of Abyss Record of this Floor
    • Click Teams tab to view teams appearance time statistics
      • Team appearance is the appearance time rank of different characters team combination
    • Click Character Constellation tab to view character constellation statistics [3]
      • Character Constellation [4] = Number of Player who Own this Character / Total Number of Player

    Upload Abyss Data

    Use Snap Hutao Client

    • Enter Abyss Records page by clicking Abyss Records on the sidebar menu
    • Click Refresh Data button to make suer Snap Hutao is storing your latest Spiral Abyss record
    • Click Upload Data to upload your Spiral Abyss records
      • This may take a few seconds, you will see the following success message after your data is submitted upload-hutaoapi

    Use Browser

    Info

    This method does not support HoYoLab

    • Open our JavaScript file, copy the entire content
    • Create new bookmark in your browser
      • Fill with a suitable name
      • in the URL field, fill with script you just copied add-bookmark
    • Visit MiYouShe, wait the page to be fully loaded, and then click the bookmark
    • Wait for a moment, and you will see data upload request window
    • After confirm it, the browser will upload your abyss record, do not turn off your browser
    • You will receive a notification when your data is submitted

    1. When same character appearances in the same floor but different level, appearance time only count for 1 ↩︎

    2. When same character appearances in the same floor but different level, appearance time only count for 1 ↩︎

    3. Character constellation data is a separate data set from Spiral Abyss records database ↩︎

    4. Once owned this character, it's counted into database even it's not appearing in Spiral Abyss; Once upload your Abyss stats, all collected characters will be included ↩︎

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/hutao-settings.html b/en/features/hutao-settings.html index 93c085aba..701c08448 100644 --- a/en/features/hutao-settings.html +++ b/en/features/hutao-settings.html @@ -31,10 +31,10 @@ } - +

    Software Settings

    DGP-StudioFeatureTutorialAbout 2 min

    Software Settings

    Info

    • The following feature tutorials are introduced in-program order.

    About Snap Hutao

    This part has the following information:

    Snap Hutao Account Beta

    Hutao-account Snap Hutao account system is designed by DGP-Studio to provide fundamental component for cloud service such as wish history backup. Currently, you are already able to register and login to your Snap Hutao account in the settings page.

    Appearance

    • Language

      • Snap Hutao will following system language setting by default
      • You can force to change to another language in the settings page
    • Backdrop Material

      • In this option, you can change the backdrop material of the software to
        • Acrylic
        • Mica (Windows 11 only)
        • MicaAlt (Windows 11 only)
      • The setting will take effect immediately

    @slidestart auto

    Windows 10 Acrylic

    win10-Acrylic


    Windows 11 Acrylic

    win11-Acrylic


    Windows 11 Mica

    win11-Mica


    Windows 11 MicaAlt

    win11-MicaAlt

    @slideend

    Wish History

    • In this field, you can choose to hide wish event that you do not have any record in the period in the wish export feature

    Game

    • Game Path

      • In this field, you can modify or set your game path for Snap Hutao
      • When setting the game path, you should select game program instead of launcher program
        • Such as $\Genshin Impact\Genshin Impact Game\YuanShen.exe
    • Delete Game Embedded Browser Web Cache

      • When you are using web cache refresh method in the wish history feature and receiving authkey expiration error, you can try this operation to fix the error
      • Click on this field to execute the operation

    Storage

    • Open Data Folder

      • Click this field to open data folder that contains user data, log, and metadata
    • Change Data Directory

      • This field allows you to change the data directory to path you want
    • Open Cache Folder

      • Click this field will open cache folder that saves image assets used by Snap Hutao
    • Reset Image Resource

      • This option allows user to reset image cache when there are too many image failed to load. The program will re-download images resource at next start-up

    MiHoYo BBS/HoYoLab Daily Check-in

    Tips

    Daily Check-in feature in Snap Hutao is mainly used to check account login status

    • How to use
      • First, login to your MiHoYo BBS/HoYoLab account and select it
      • Click on the field
      • Then Snap Hutao will pop up the check-in page and you can check-in manually
    • Interface when this feature is working: Daily check in

    Dangerous Features

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/index.html b/en/features/index.html index 521f1ec07..0c68c0e0b 100644 --- a/en/features/index.html +++ b/en/features/index.html @@ -31,10 +31,10 @@ } - + - + diff --git a/en/features/mhy-account-switch.html b/en/features/mhy-account-switch.html index 7bd1497a4..705899dfb 100644 --- a/en/features/mhy-account-switch.html +++ b/en/features/mhy-account-switch.html @@ -31,10 +31,10 @@ } - +

    MiHoYo BBS Account Switch

    DGP-StudioFeatureTutorialAbout 1 min

    MiHoYo BBS Account Switch

    Tips

    There are two types of MiHoYo BBS, MiYouShe and HoYoLab. MiYouShe refers to Mainland China version, HoYoLab refers to global version, both of them are accepted by Snap Hutao

    • The document in page is talking about MiHoYo BBS account, not Genshin Impact's in-game account
    • Before starting using Snap Hutao, you must initial your MiHoYo BBS account by login to your account in official mobile application
      • If your account name shows like user_123456789, then it means the account is not initial yet

    多帐号管理样图

    • At the left bottom corner, you can find the account menu above the Settings button. In the pop-up account menu, you can find the entry to login in to your MiYouShe and HoYoLab account:

    • Click on Web Login

      • In the pop-up build-in browser, login with your account
      • Click I'm logged in button on the top right, after you have logged into your account
      • Then your account will be added to Snap Hutao, the browser will close automatically
    • Alternatively, you can enter your MiHoYo BBS cookie list by click on Input Manually button

    • After added your MiHoYo BBS account, you need to switch to account you want in the account menu, to activate it

    • You can always switch your MiHoYo BBS account in the account menu, and you are also allowed to copy account's cookie or remove account there

    Security Tips

    • Stoken is a security sensitive cookie field, you should NEVER store it in cloud-based software or device that you cannot guarantee the safety (such as public computers).
    • You can copy accounts' cookie with Stoken from Snap Hutao, but you should carefully consider if the receiver is trustworthy to have Stoken cookie
    • When you are signing in to your MiHoYo BBS account in Snap Hutao, the data are only been processed by MiHoYo's official server and local Snap Hutao program, no third-party server (including any server from Snap Hutao) will involve in this process.
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/real-time-notes.html b/en/features/real-time-notes.html index 6ad2d2ce1..4c42c06fb 100644 --- a/en/features/real-time-notes.html +++ b/en/features/real-time-notes.html @@ -31,10 +31,10 @@ } - +

    Real-time Notes

    DGP-StudioFeatureTutorialAbout 1 min

    Real-time Notes

    Info

    This features requires you to login in to your MiYouShe or HoYoLab account in Snap Hutao, you can check 米游社多帐号切换 for more information.

    live-data-tracking

    Add Role

    • Click on Add Role button
    • In the pop-up menu, find the UID you want to add, and click on the add button to its right
    • Now, the game UID character's Real-time Notes should be displayed in the page
      • The Real-time Notes is set to refresh timely
        • You can click on the Notification Settings on the top right to manage it
        • If you want to see the data at this moment, you can click Refresh button to refresh data immediately
      • If you receive any warning similar to Verification failed, it may be caused by too many account added, and you can try to fix it youself by refreshing account cookie

    Global Notification Settings

    • In the Notification Settings on the top right, you can change the global settings of Real-time Notes, including:
      • Refresh rate
      • Do not disturb setting
      • Prioritized notification
        • This prevent Snap Hutao's notification being closed automatically

    Independent Settings for Accounts

    • Snap Hutao allows different settings on each Real-time Notes account
    • Hover the cursor over the form of Real-time Notes account that needs to set
    • Click on the setting button on it, and you can modify these settings:
      • Original Resin threshold value
      • Realm Currency threshold value
      • Parametric Transformer notification
      • Daily Commission notification
      • Expeditions notification
      • Display in the main page (feature coming soon)
    • Click on Save and you can save the settings

    Delete Daily-Notes Account

    • Hover the cursor over the form of Real-time Notes account that needs to delete
    • Clock on the remove button on it, and you can remove the corresponding account
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/weapon-wiki.html b/en/features/weapon-wiki.html index 87ad498f0..bdeeffdd8 100644 --- a/en/features/weapon-wiki.html +++ b/en/features/weapon-wiki.html @@ -31,10 +31,10 @@ } - +

    Weapon WIKI

    DGP-StudioFeatureTutorialLess than 1 minute

    Weapon WIKI

    weapon-wiki

    Weapon WIKI is a Snap Hutao build-in WIKI feature used to look up each weapon's information

    Included Data

    • Weapon list
      • Use the icon above the list, you can change the view between list and grid
      • Click on weapon's icon or title, and you will be directed to its WIKI page
    • Weapon data
      • Weapon basic information
        • Images of weapon before and after ascension
        • Weapon's main image
        • Weapon's introduction
        • Weapon's numerical value at value you switch to
      • Weapon refinement data
        • Weapon's numerical value at each refinement level
      • Weapon's most used by characters data provided by Hutao Database
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/features/wish-export.html b/en/features/wish-export.html index 2f51edf89..82c2bff9a 100644 --- a/en/features/wish-export.html +++ b/en/features/wish-export.html @@ -31,10 +31,10 @@ } - +

    Wish History

    DGP-StudioFeatureTutorialAbout 2 min

    Wish History

    Gacha is one of the core gameplay in Genshin Impact. Whether it's for commemorative and show-off purposes, or for serious planning for a gacha strategy, it's very important to perform statical analysis on historical gacha record. However, Genshin Impact only provides players with six months of gacha records, which is not user-friendly (although they still keep tracking how many Timmie's pigeons you've killed for the whole year)

    Therefore, we need to use the gacha records from these six months to retrieve the data and transfer the record to our local device. This is the purpose of wish history export feature in Snap Hutao.

    Regarding the technical principles of exporting Genshin Impact gacha records, you can refer to our article on Gacha System and Export Principles

    祈愿导出

    As shown in the above figure, through the wish history feature in Snap Hutao, you can clearly obtain the following information: total number of wishes, current pity count, quantity and percentage of obtained items with different rarity, number of times a 5-star rarity item was not obtained and the current pity status.

    Delay in Gacha Data Export

    Snap Hutao retrieves gacha records from the MiHoYo servers, which means that recently made wishes may not be immediately available. When you see the latest batch of gacha records in the game's own history, then you can then obtain the corresponding statistics from Snap Hutao.

    Fetch Wish History

    Hint

    • This method requires user to sign in to MiHoYo BBS account in Snap Hutao, refer to MiHoYo BBS Account Switch to get to know how to login to your MiHoYo BBS account
    • Stoken Cookie refresh method does not support global server (HoYoLab)
    • Make sure the account you want to refresh wish history has been signed in to Snap Hutao
    • Switch to Wish History feature page in Snap Hutao
    • Click on Refresh button and select SToken Refresh
    • Wait for refresh task to complete

    Refresh with Web Cache Global Server Supported

    • Switch to Wish History feature page in Snap Hutao
    • Start the game, go to in-game wish history page
    • Go back to Snap Hutao, clock on Refresh button and select Refresh with Web Cache
    • Wait for refresh task to complete

    Tips

    If errors keep occur:

    • Go to settings page in Snap Hutao
    • Execute operation Delete game embeeded browser web cache

    Refresh with Manually Input URL Global Server Supported

    • If you get your personal wish history URL, you can select Manual Input and submit your wish history URL
    • Be aware that the URL is time-sensitive

    Explanation on Full Refresh Option

    By default, Snap Hutao will stop importing gacha records once it matches a Wish ID that already exists locally. However, if you wish to obtain all the historical records from the Genshin Impact servers (even if they are already present in your local wish history), you can check the "Full Refresh" option.

    Not selecting Full Refresh will not cause you to lose your wishing data, and selecting Full Refresh will not cause your local records to mistakenly record the same wishing data twice.

    Import Wish History Data from Other Applications UIGF

    Snap Hutao supports importing wish history data file that in UIGF data format[1]

    If you need to import such type of data, you can:

    • Start Snap Hutao, switch to Wish History feature page
    • Select Import
    • Select your UIGF Json data file
    • Check the imported file information and confirm to import

    Export Wish History Data UIGF

    Snap Hutao support exporting wish history data to a Json file written in UIGF data format

    If you need to export the wish history data, you can:

    • Start Snap Hutao, switch to Wish History feature page
    • Switch to the archive you want to export, and select Export
      • In the pop-up window, confirm your export path
    • Confirm and export data

    1. Unified Standardized GenshinData Format is provided by UIGF-Orgopen in new window ↩︎

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/i18n.html b/en/i18n.html index 13adf2345..09e01ba05 100644 --- a/en/i18n.html +++ b/en/i18n.html @@ -31,10 +31,10 @@ } - +

    Localization

    DGP-StudioLess than 1 minute

    Localization

    Localization Process

    Snap Hutao Project features were originally based on the China server, but we are also trying to expand the coverage globally through the support of the MiHoYo global gaming server & software localization.Currently, our localization process includes:

    • Snap Hutao
        • Process: Crowdin
    • Snao Hutao Docs
      • Process:

    Engage our Localization

    • Snap Hutao
      • We created an issue thread named [Hoyolab] on GitHub: Globalization support Issueopen in new window
        • We will update our process in this thread
        • You can declare your localization engagement in the thread, and we will provide the necessary support
          • We also welcome PR directly
      • You can provide your translation at translate.hut.aoopen in new window
    • Snap Hutao Docs
      • The developer team is maintaining Chinese documents and working on English documents
      • You can clone the docs repositoryopen in new window, translate docs with your favorite tools, and make a Pull Request to contribute your work to the main repository
      • If you are adding a new language, you can copy the entire en folder and rename it with ISO 639-1 language codeopen in new window
        • For example jp as Japanese
        • Do not translate based on Chinese docs (zh) as there are some content only specific useful for Chinese users; they are not useful for international users.
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/index.html b/en/index.html index 5bf47c6d9..bcfe2791f 100644 --- a/en/index.html +++ b/en/index.html @@ -31,10 +31,10 @@ } - +
    Snap Hutao

    Snap Hutao

    Multifunctional open-source Genshin Utility

    DownloadQuick StartDocumentProject

    Better than Snap.Genshin

    Snap.Hutao has more extensive data support and better client performance while inheriting all Snap Genshin functionality

    Real-time Notes

    Don't be trapped by Mobile Application. Receive your Genshin real-time notes notification on your desktop with native Windows notification

    Spiral Abyss Record

    Get the personal Spiral Abyss records, including statistics and detailed data, permanently save past Spiral Abyss challenges on your device

    Multi-Account Switch

    Snap.Hutao supports multiple MiHoYo BBS accounts to stay logged in and create separate profiles for each account in each function, so players can easily manage their multiple accounts

    Wish History Record

    Capture your wish history from your game log, export them to your local device, with the support of unlimited account data archives

    Achievement

    Achievement statistics feature allows players to export achievement data and keep statistics outside the game; based on achievement splitting, players can manage milestones for hidden achievements

    Advanced Game Launcher

    With the advanced launcher in Snap.Hutao, players can easily switch their Genshin accounts, switch servers, modify game window settings and further explore more advanced features

    Hutao Database

    Check out the details of community's current Spiral Abyss teaming, weapon matching, and artifact set matching; share your own Spiral Abyss lineup configuration

    My Characters

    View detailed data about the player's character, including level, constellations, weapons, talents, artifact set, etc.; automatically calculate artifact set score

    Character Wiki

    Check the character's numerical information; talent and constellations; training materials; character's background story and other information; get the most weapons and artifact set matching scheme among players through the Hutao database

    Weapon Wiki

    Check weapon values and stories; get the most character matching data among players through the Hutao database

    Development Calculator

    Make implementable character development plans based on your actual situation; support multiple accounts, multiple plan lists, and backpack item records

    Contribute

    Snap Hutao is a free software maintained by open-source community, and we hope more players with same ambitions can join together to provide more features to the community.

    You can make contribution by the following ways:

    1. Make Pull Requests to our codeopen in new window
    2. Translate the project for a better localization
    3. Update documentopen in new window

    If you believe Snap Hutao is a good project and helps you, you can support us by the following ways

    commit_activity hutao-last-commit

    Service Used

    Snap Hutao is currently using software from the following service providers.

    Deploys by NetlifyCrowdin | Agile localization for tech companies
    - + diff --git a/en/project.html b/en/project.html index 91af90f3a..d5747484e 100644 --- a/en/project.html +++ b/en/project.html @@ -31,10 +31,10 @@ } - +

    Project

    DGP-Studio公告Less than 1 minute

    Project

    Snap Hutao is an MIT-licensed open-source project that provides a Genshin Impact Toolset on Windows, aiming to provide a better experience on PC gaming. It makes undestructive feature expansions on desktops by making features that Genshin Impact provides only on mobile applications.

    Feature Migration

    Snap Hutao project was originally from the Snap Genshin project. Currently, we are still migrating features.

    Documents will be provided on this website for all migrated features. The migration process is shown below:

      • Will be integrated to Dev Plan feature
      • Will be integrated to Dev Plan feature

    New features

    The following features are planned to add when the project was established.

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/quick-start.html b/en/quick-start.html index 8d545f1a9..fb2c3603e 100644 --- a/en/quick-start.html +++ b/en/quick-start.html @@ -31,10 +31,10 @@ } - +

    Quick Start

    DGP-StudioFeatureTutorialAbout 2 min

    Quick Start

    Tips

    If you download and use Snap Hutao,you are agree to our terms of service

    If you believe Snap Hutao is a good project and helps you, you can support us by the following ways

    commit_activity hutao-last-commit

    Video Tutorial

    For most people, follow the instruction on this page is more effiency.

    However, if you are not familiar with the operation mentioned below, you can come back the follow the video tutorial.

    Snap Hutao Tutorial - Microsoft Store Installation (zh-CN)

    Minimum System Requirements

    RequirementAttribute
    Minimum Required OSWindows 10 Build 19045 (22H2) [1]
    Recommended OSWindows 11 Build 22621 (22H2)
    Optional ComponentsWebView2 Runtime

    Download Snap Hutao

    Whatever installation method you used, package source and registration are always handled by Microsoft Store.

    Microsoft Store Link:Snap Hutao

    On Windows 10 and Windows 11 you can click the button above to download Snap Hutao.

    Upgrade to MS Store Version from Sideload Versions

    • Uninstall the sideload version with our uninstallation instruction document
      • You data will not lose as long as you don't delete data directory manually
    • Follow the method above to install the Microsoft Store version application

    Update Snap Hutao

    You can use any of the update methods, whatever method you used when you installed Snap Hutao. They don't need to be consistent, as Microsoft Store is the only source of packages.

    • Launch Microsoft Store
    • Click on Library in the bottom left to see all apps you have installed
    • Click Get updates on the top right and your application will be updated

    If you still don't receive the update, you may enter the Snap Hutao detail page in Microsoft Store, to allow the store to fetch the latest metadata.

    Installing WebView2 Runtime

    WebView2 Runtime is provided by Microsoft, which enables a built-in browser at a low resource cost inside the program. As an optional component, WebView2 is not a mandatory component, but it will make some Snap Hutao's features easier.

    At the bottom of the Microsoft official page, you can findEvergreen Standalone Installer, choosex64download and install as prompted


    1. As LTSC and LTSB Windows versions do not contain Microsoft Store and some other necessary dependencies, they are not supported.Windows 10 Build 19041 is allowed to install Snap Hutao, but some features have known issues caused by Windows Os Kernal, those issues won't be fixed. ↩︎

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.2
    - + diff --git a/en/rss.xml b/en/rss.xml index 726111530..9d4424518 100644 --- a/en/rss.xml +++ b/en/rss.xml @@ -6,8 +6,8 @@ https://hut.ao/en/ Super utilitarian Genshin Impact Tool en-US - Thu, 11 May 2023 10:49:14 GMT - Thu, 11 May 2023 10:49:14 GMT + Fri, 12 May 2023 12:15:15 GMT + Fri, 12 May 2023 12:15:15 GMT vuepress-plugin-feed2 https://validator.w3.org/feed/docs/rss2.html Feature @@ -572,7 +572,7 @@ running as Administrator
    • Project refactoring, brings a 20% performance improvement
    • Add localization support for WIKI features
    • -
    • Add support for all international channel (which affect payment gateway) +
    • Add support for all international channels (which affect payment gateway)
      • Supporting HoYoverse official, Google Pay, Epic
      diff --git a/en/side-load.html b/en/side-load.html index 52e8727ce..63e11e434 100644 --- a/en/side-load.html +++ b/en/side-load.html @@ -31,10 +31,10 @@ } - +

      DGP-StudioLess than 1 minute

      侧载安装

      通用安装方式

      • 在系统设置中打开开发者设置界面,勾选 开发人员模式允许 PowerShell 脚本 (自行百度)
      • 解压已下载的压缩包,找到Install.ps1文件,右键选择使用PowerShell运行,按照提示允许 PowerShell 执行操作即可
      • 安装完毕,胡桃将出现在您的开始菜单

      小白级安装方式

      • 解压已下载的安装包
      • 运行 Snap.Hutao.Installer.exe
        • 该程序将执行上述通用安装方式的命令
      • 安装完毕,胡桃将出现在您的开始菜单

      升级胡桃工具箱

      • 解压你下载的最新版本压缩包
      • 重复 安装胡桃工具箱 的步骤
      • 若您安装失败或出现异常情况,可参考如下步骤
        • 先卸载已经安装的胡桃工具箱
        • 重复 安装胡桃工具箱 的步骤
      Comments
      • Latest
      • Oldest
      • Hottest
      Powered by Waline v2.15.2
      - + diff --git a/en/star-request.html b/en/star-request.html index 415c4d2bd..21a68704b 100644 --- a/en/star-request.html +++ b/en/star-request.html @@ -31,10 +31,10 @@ } - + - + diff --git a/en/statements/bug-report.html b/en/statements/bug-report.html index 5627d904d..5c35a29c3 100644 --- a/en/statements/bug-report.html +++ b/en/statements/bug-report.html @@ -31,10 +31,10 @@ } - +

      Submit Bug Report

      DGP-StudioAnnouncementLess than 1 minute

      Submit Bug Report

      opened-issue closed-issue

      • You can submit bug reports when you find reproducible issue that cannbot be fixed by youself
      • When submitting the issue, you should describe the problem in as much detail as you can.Screenshots of error should be attached if you have.This is help us to identify the issue faster.
      • If you are able to fix the issue from code, you are also welcome to make PRs directly.

      Client Issue

      Request New or Update Document

      Comments
      • Latest
      • Oldest
      • Hottest
      Powered by Waline v2.15.2
      - + diff --git a/en/statements/index.html b/en/statements/index.html index 0bb4d8261..9bec16c1b 100644 --- a/en/statements/index.html +++ b/en/statements/index.html @@ -31,10 +31,10 @@ } - + - + diff --git a/en/statements/privacy-notice.html b/en/statements/privacy-notice.html index d7ef2111b..20f8e3b5f 100644 --- a/en/statements/privacy-notice.html +++ b/en/statements/privacy-notice.html @@ -31,10 +31,10 @@ } - +

      User Data and Privacy Notice

      DGP-StudioAnnouncementLess than 1 minute

      User Data and Privacy Notice

      Personal Information

      The nature of Snap Hutao project states it does not collect any personal information data.

      Regular Data Usage

      Snap Hutao respects the privacy of users, and we're currently using data as described below:

      • Once using Snap Hutao,the database file in the data directory

        • Store
          • MiHoYo BBS and HoYoLab cookie
          • Snap Hutao program settings
          • All other user data
      • When using Snap Hutao, we collect anonymously logs data for development and statistical purposes when program stops unexpectedly or throw an error, including - User device ID - Error or crash log - Active user statistical data

      • When using Hutao Database (Abyss Record/Abyss Stats) feature and select Upload Data

        • Upload data to Hutao API, including
          • User's in-game UID
          • User's Abyss record
          • User's character information including artifact and weapon data
      • After using Real-time Notes features

        • Create a Windows scheduled task to fetch data timely
      • After using server switch feature in Game Laucher, in Snap Hutao's data directory

        • Store game files for server switch usage
      • After using Hutao Account features, Hutao Account system server will

        • Store
          • User registered email address
          • Encrypted password
      Comments
      • Latest
      • Oldest
      • Hottest
      Powered by Waline v2.15.2
      - + diff --git a/en/statements/tos.html b/en/statements/tos.html index e89d8fc18..3db75429e 100644 --- a/en/statements/tos.html +++ b/en/statements/tos.html @@ -31,10 +31,10 @@ } - +

      User Agreement and Legal Disclaime

      DGP-StudioAnnouncementAbout 6 min

      User Agreement and Legal Disclaime

      Info

      This page of document was original written in Simplified Chinese. It's translated by AI-driven translate software, and still under review. If there is any conflict between the content of the document on this page and the original document, please refer to the original document.

      General Provisions

      • This "User Agreement and Legal Disclaimer" (hereinafter referred to as "Terms" or "User Agreement") applies to all software works developed by the DGP-Studio development team (hereinafter referred to as "the team" or "we"), the official website of each development project, and affiliated self-hosted media accounts.
        • Please read all the contents of this User Agreement carefully. If you have any objections to any terms of this User Agreement after reading it, please immediately stop using any projects developed by the team.
        • If you are under 18 years old, please read and fully understand this agreement with the accompaniment of a legal guardian, and obtain the consent of the legal guardian before using any projects developed by the team.
        • If you have installed, used, or referenced any projects developed by the team during development, it means that you have actively read (read it completely) and fully agree to the terms listed in this User Agreement, that is, you have fully understood this Agreement and promised to accept the constraints of the agreement, legal statements, privacy policies, rules, norms, statements, notices, and other content related to any projects developed by the team.
        • This "User Agreement" is a user agreement and legal disclaimer entered into by the user (hereinafter referred to as "you") and any projects developed by the team. This agreement has legal effect on both the user and the team.

      Nature of the Project, Services, and Definition of Responsibilities and Obligations

      1. As all projects developed by the team are "open-source" and "non-business" in nature, the team can make full decisions at any time, including but not limited to changing the "User Agreement" and modifying any content within any projects developed by the team. If there are any changes to the "Terms" or the content of the works, we will post notices on the relevant project display website. The revised "Terms" will take effect automatically after they are published on the official website.

      2. The development of this software is aimed at "learning development knowledge" and "accumulating development experience." All functions provided by all projects are "open-source" and "non-business" in nature. If you are dissatisfied with the security of any projects developed by the team, please uninstall/delete/stop using them immediately. If you continue to use them normally, it means that you approve of the security of any projects developed by the team.

      3. Any "unexpected losses (including but not limited to: software, hardware, property, virtual items, etc.)", "contractual damage", "defamation", "copyright or intellectual property infringement," and the resulting losses and liabilities caused by the use of any content in any projects developed by the team are all "losses and liabilities" caused by the user's own use behavior of open-source software on the Internet. Based on the MIT license declared in all works at their open-source location (i.e., GitHub) and the content stipulated in this declaration, it should be deemed that the aforementioned "losses and liabilities" have no responsibility relationship with all the relevant developers of the projects.

      4. During the user's use of any projects developed by the team, the team does not make any guarantees that do not occur under the following circumstances:

        • The user cannot use or update normally due to network conditions, communication lines, and other technical reasons;
        • Negative results caused by using "plug-ins in this software developed by a third party," "modified versions of this software compiled by a third party," and "software compiled by reusing project code created by this development team."
      5. Users acknowledge that any project developed by our team requires active user trigger for any information upload, except for necessary upload reports or related information in passive receipt of software or other related projects.

        • Users acknowledge that any project developed by our team fully respects and protects the "personal privacy rights" of all users. The project code is also fully open, and users do not have subjective reasons to accuse the development team or team members of "violation of privacy rights".
        • Any personal information of users will not be shared or transferred to third parties by any project developed by our team, unless with the user's prior authorization or the shared and transferred personal information has been de-identified and the third party cannot re-identify the natural person subject of such information.
        • Any project developed by our team contains links to other sites. When you visit third-party links, please read the user agreement and statement of the third-party site carefully. Our team is not responsible for the content, privacy terms, and usage agreements of third-party sites.
        • When using any project developed by our team, we cannot guarantee that the information you submit will be saved successfully. You need to properly store and keep the information you submit. Some projects developed by our team provide storage for "authorized data," but there are various force majeure factors in the storage process. Our team cannot promise to keep users' stored information indefinitely. Please back up your important information yourself.

      Rights and Obligations

      1. Our team allows any individual or organization to conduct secondary development, functional modification, and reuse of our code for other projects without our team's authorization, for any project developed by our team. However, we reserve the right to pursue legal action against any infringement of our team's computer software copyright.

        • Our team shall not be responsible for any consequences resulting from the public release of the contents of any project developed by our team (including but not limited to video production, articles with content of this software, uploading to download sites not designated by our development team, etc.) by any individual or organization using the project developed by our team.
        • Our team shall not be responsible for any consequences resulting from the use of "third-party subsidiary programs or additional code that can be used for any project developed by our team", "modified versions of any project developed by our team that have been compiled by third parties", or "software compiled using the project code created by our development team".
        • Based on the legal definitions of "computer software" and "documents" in Article 2 and Article 3 of the "Regulations on the Protection of Computer Software," DGP Studio reserves all computer software copyright for all of our development projects. This includes but is not limited to all information necessary to construct the project and all document data related to the project (i.e. program design specifications, flowcharts, user manuals, etc.), with the actual content subject to the "Computer Software Copyright Registration Certificate" for each project.
      2. Any project developed by our team is only intended for lawful and compliant learning and research use and shall not be used for illegal activities.

        • Our team is only a development team (not a legal entity composed of natural persons), and shall not be held responsible for any joint liability for any use of the software or any project developed by our team that results in any legal consequences.
        • If a user has already started using any project developed by our team, it means that they have agreed to the "Usage Agreement" and that our team has already fulfilled the notification requirements in Section 10 of this Usage Agreement.
      3. Copyright of the developed projects.

        • Our software development team holds the ownership of all trademarks in the software itself (excluding display content other than functional modules), all historical versions of the aforementioned works, and the surrounding websites. We also hold any related rights and interests regarding copyright.
        • All statistical data of any project developed by our team comes from users who submit data voluntarily. After the data is screened, it is displayed. Therefore, our team is not responsible for the accuracy of the data, and the data is not related to us.
        • During the use of any project developed by our team, there may be data that has original copyright. For these data, our team does not own their ownership. In order to avoid infringement, the user has the obligation to fully read and comply with the content of Section 10 of this Usage Agreement. The resources used in this software (including but not limited to fonts, images, and text) are from public information on the Internet. If infringement occurs, you can contact us at our GitHub to remove it.

      Other Terms

      1. Determination of "Non-Business Nature" of Projects Developed by the Team.

        • Any project developed by the team has no business nature.
        • If individual or certain members of the development team, during their participation in the development of any project developed by the team, have entered into relationships with third-party users, including but not limited to gifts, exchanges, sales, etc., the resulting relationships are unrelated to the development team. This occurrence is not based on the fact that the team developed a related project, but rather on independent events that occurred at the location where the user entered into the aforementioned relationship on the Internet or in reality. The nature of this behavior should be determined based on the user terms of use at the Internet interaction location where the aforementioned relationship occurred, or in combination with specific behaviors that occurred in reality.
      2. Any project (including websites) developed by the team is developed for the purpose of "learning development knowledge" and "accumulating development experience," and is only for learning and communication purposes. It is strictly prohibited to use it for commercial purposes. After downloading or viewing the learning materials, please delete all related information within 24 hours. If you ignore this requirement, the software development team is not responsible for "possible copyright disputes, infringement of intellectual property rights, and civil disputes."

      3. The establishment, effectiveness, performance, interpretation, and dispute resolution of this agreement shall be governed by the laws of the mainland of the People's Republic of China. If any provision of this agreement conflicts with the laws of the People's Republic of China and is invalid, these provisions will be reinterpreted as closely as possible to the original intent of this agreement. The other provisions of this agreement shall remain in full force and effect.

      4. The place of signing this agreement is Liaohe Oilfield Mining Area, Panjin City, Liaoning Province, China. If a dispute arises in the performance of this agreement, the parties shall resolve it through consultation. If no agreement can be reached through consultation, the Liaohe People's Court shall have jurisdiction, and the appellant shall bear the costs of each stage immediately.

      5. The titles (including subtitles) in this agreement are for convenience and reading only and do not affect the meaning or interpretation of any provisions of this agreement.

      6. Both you and the development team are independent entities, and under no circumstances does this agreement constitute any express or implied guarantee or condition of the development team towards users. There is also no agency, partnership, joint venture, or employment relationship between the two parties.

      7. In this "User Agreement and Legal Statement," the term "our party" or "the development team" (as distinguished from "you" or "the user") refers to the entire team of DGP-Studio Development Team, including each individual member.

      Last update:
      Contributors: Masterain,Mr.Hope
      - + diff --git a/en/statements/update-log.html b/en/statements/update-log.html index e06584de0..b13b22b27 100644 --- a/en/statements/update-log.html +++ b/en/statements/update-log.html @@ -5,7 +5,7 @@ - Update Logs | Snap Hutao + Update Logs | Snap Hutao + + + + + + + + + diff --git a/zh/features/develop-plan.html b/zh/features/develop-plan.html index 86fe002c2..d89d9ad5e 100644 --- a/zh/features/develop-plan.html +++ b/zh/features/develop-plan.html @@ -31,10 +31,10 @@ } - + -

      养成计划

      DGP-Studio功能教程大约 2 分钟

      养成计划

      dev-plan

      添加养成目标进入材料清单

      基于 WIKI 资料添加

      • 在胡桃工具箱的左侧栏目中,点击角色资料武器资料功能
      • 在"胡桃工具箱"的整体界面右上部分,点击养成计算按钮
      • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的起始等级以及目标等级
        • 基于 WIKI 资料添加的养成目标,默认初始值为 1 级

      基于玩家数据添加

      • 在"胡桃工具箱"的左侧栏目中,点击我的角色功能
      • 在选中角色后,点击右上角的养成计算按钮
      • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的"起始等级"以及"目标等级"
        • 基于玩家数据添加的养成目标,默认初始等级为玩家当前的角色等级
        • 请参考属性统计文档以获取更多信息

      背包物品

      • 在"胡桃工具箱"的左侧栏目中,点击"养成计划"功能
      • 点击"背包物品"功能栏
      • 在"胡桃工具箱"的整体界面右上部分,点击"新建计划"按钮
      • 在弹出的"创建新的养成计划"的窗口中,填写需要创建的养成计划名称
        • 此处可勾选"绑定当前选中的账号角色"
        • "新建计划"按钮左侧的下拉选项框,可自行切换不同的养成计划
      • 点击下方的任意物品图标或数字区域,即可手动编辑该种材料的数目
        • 背包物品的具体材料信息,对应于其修改时,所切换至的养成计划
      • 在"胡桃工具箱"的整体界面右上部分,可点击"删除计划"按钮,将当前的养成计划删除
        • 在删除当前养成计划后,处于切换至该养成计划时,输入的背包物品信息将一同删除

      功能说明

      此功能尚在完善阶段,若您有建设性的建议,或发现了显著的问题,请按此页面直接向我们反馈,感谢您的贡献!

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      养成计划

      DGP-Studio功能教程大约 2 分钟

      养成计划

      dev-plan

      添加养成目标进入材料清单

      基于 WIKI 资料添加

      • 在胡桃工具箱的左侧栏目中,点击角色资料武器资料功能
      • 在"胡桃工具箱"的整体界面右上部分,点击养成计算按钮
      • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的起始等级以及目标等级
        • 基于 WIKI 资料添加的养成目标,默认初始值为 1 级

      基于玩家数据添加

      • 在"胡桃工具箱"的左侧栏目中,点击我的角色功能
      • 在选中角色后,点击右上角的养成计算按钮
      • 在弹出的"添加到当前养成计划"的窗口中,填写角色需要计算的各项属性的"起始等级"以及"目标等级"
        • 基于玩家数据添加的养成目标,默认初始等级为玩家当前的角色等级
        • 请参考属性统计文档以获取更多信息

      背包物品

      • 在"胡桃工具箱"的左侧栏目中,点击"养成计划"功能
      • 点击"背包物品"功能栏
      • 在"胡桃工具箱"的整体界面右上部分,点击"新建计划"按钮
      • 在弹出的"创建新的养成计划"的窗口中,填写需要创建的养成计划名称
        • 此处可勾选"绑定当前选中的账号角色"
        • "新建计划"按钮左侧的下拉选项框,可自行切换不同的养成计划
      • 点击下方的任意物品图标或数字区域,即可手动编辑该种材料的数目
        • 背包物品的具体材料信息,对应于其修改时,所切换至的养成计划
      • 在"胡桃工具箱"的整体界面右上部分,可点击"删除计划"按钮,将当前的养成计划删除
        • 在删除当前养成计划后,处于切换至该养成计划时,输入的背包物品信息将一同删除

      功能说明

      此功能尚在完善阶段,若您有建设性的建议,或发现了显著的问题,请按此页面直接向我们反馈,感谢您的贡献!

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/game-launcher.html b/zh/features/game-launcher.html index 57358984f..28d7b2436 100644 --- a/zh/features/game-launcher.html +++ b/zh/features/game-launcher.html @@ -31,10 +31,10 @@ } - + -

      高级启动器

      DGP-Studio功能教程大约 6 分钟

      高级启动器

      • 胡桃工具箱提供的高级启动器功能中通过多样的设置选项来允许用户以自定义设置启动游戏
      • 你可以通过点击左侧菜单栏中的启动游戏进入高级启动器功能
        • 第一次使用时你会被跳转到设置页面以设置你的游戏路径
        • 选择游戏路径时,请注意此处选择的应是游戏本身
          • 形如:$\Genshin Impact\Genshin Impact Game\YuanShen.exe
          • 而官方启动器的目录一般是$\Genshin Impact\launcher.exe
      • 在设置完毕启动游戏所需的附加选项后,点击右上角的启动游戏按钮即可
        • 附加选项请看本页下方的功能文档

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱指南 4 - 高级启动器(切换帐号/切换服务器/帧率解锁)

      切换服务器

      权限提示

      1. 使用该功能时需要以管理员权限启动胡桃工具
      2. 胡桃工具箱会在数据目录下创建一个名为 ServerCache 的文件夹并储存转换服务器所需要的文件
      • 在主界面点击左侧菜单栏进入启动游戏页面
      • 找到常规分类中的服务器一栏
      • 点击右侧选项中的服务器名称,选择要进入的服务器
        • 目前可选的服务器包括:
          选项服务器
          官方服中国大陆服务器
          渠道服使用 BiliBili 帐号登录的中国大陆服务器
          国际服 DefaultHoYoVerse 国际服服务器
          国际服 Epic使用 Epic 商城支付网关的 HoYoVerse 国际服服务器
          国际服 Google使用 Google Pay 支付网关的 HoYoVerse 国际服服务器
      • 点击右上角的启动游戏按钮,胡桃会自动下载并应用对应服务器的文件并启动游戏

      账号保存

      提示

      1. 本功能所描述的帐号,特指当前原神所登录游戏账号的登录状态
      2. 目前仅支持切换官方服(不含渠道服)帐号
      官方服渠道服国际服
      保存登录状态支持支持支持
      切换账号支持不支持理论支持
      我们期待更多的社区开发者帮助open in new window
      1. 在主界面点击左侧菜单栏进入启动游戏标签
      2. 点击常规分类中的检测账号一栏,胡桃工具箱会保存当前原神游戏的登录状态
      3. 在弹出的为账号命名界面中,输入您要为此账号设置的名称,点击确认
      4. 在游戏中,注销当前登录并登录你另一个帐号。重复执行上述的第 2 步和第三步直至你将全部的帐号添加进胡桃工具箱中。
      5. 此时即可在账号功能下方自由选择您要切换的账号
        • 每个已保存的账号均为可点击选择的按钮
        • 在其右侧有三个按钮,分别为:
          • 绑定当前用户角色,即将您当前选择的米游社登录状态绑定至该账号中,点击该按钮后,对应的 UID 将出现在该账号自定义名称的下方
          • 重命名,即修改当前选择账号的自定义名称
          • 删除,即删除当前选择的账号

      外观选项

      注意

      • 在当前的游戏版本中,有案例表明部分用户使用胡桃工具箱,选择独占全屏模式启动原神游戏,出现游戏无响应或卡顿的情况
        • 建议此部分用户使用无边框选项进行启动游戏
        • 问题的来源是游戏内置浏览器无法运行
      • 在主界面点击左侧菜单栏进入启动游戏标签
      • 外观功能中,有六个选项:
        • 独占全屏,即选择游戏进程以独占全屏模式运行
        • 全屏,即选择启动游戏后的游戏界面是否设置为全屏
        • 无边框,即选择启动游戏后的游戏界面是否设置为无边框窗口
        • 宽度,即选择启动游戏后的游戏界面的宽度,例如1920
        • 高度,即选择启动游戏后的游戏界面的高度,例如1080
        • 显示器,允许多显示器用户选择指定的显示器来运行游戏

      高级功能

      警告

      • 请注意:高级功能已明确标注为 Dangerous Feature,即危险功能,选择启用即代表您选择自行承担任意风险
      • 你需要首先在胡桃设置页面中启用高级功能

      解锁帧率上限

      警告

      • Unlocker 项目open in new window仅作用于 UnityPlayer 本身,即直接作用于 Unity3D 引擎,与游戏本体不发生直接关系,本质上与移动端中120帧率等设置无异,但您仍应谨慎使用并自行阅读用户协议
      • 使用管理员模式启动胡桃

      • 在主界面点击左侧菜单栏进入启动游戏标签

      • 在最下方可见 解锁帧率限制 选项

        • 在右侧点击开启或关闭按钮,所显示的 禁用启用 分别代表已禁用已启用该功能
        • 在下方的 设置帧率上限 选项中,可自由拖动拉杆,调整到您需要设置的最高帧率上限
      • 会导致解锁帧率上限失败的因素:

        • 胡桃工具箱没有保持在后台运行
        • 游戏内未关闭垂直同步选项
        • 在显卡驱动中存在最大帧速率的设置
        • 在显卡驱动软件内存在未关闭的类似于节能模式的选项
        • 显卡性能不足

      游戏客户端多开

      警告

      游戏客户端多开是一个远比解锁帧率上限还危险的功能,你应当在亲自或邀请有技术知识的专业人士审阅代码后自行判断是否使用该功能。

      使用该功能会导致原神反作弊功能加载失败,原神客户端会向米哈游服务器汇报该现实情况。

      1. 使用管理员模式启动胡桃
      2. 在主界面点击左侧菜单栏进入启动游戏标签
      3. 在最下方启用 多客户端 选项
      4. 点击右上角的启动游戏
      5. 等待 12 秒后再进门
      6. 重复步骤 4 和步骤 5 以开启下一个客户端
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      高级启动器

      DGP-Studio功能教程大约 6 分钟

      高级启动器

      • 胡桃工具箱提供的高级启动器功能中通过多样的设置选项来允许用户以自定义设置启动游戏
      • 你可以通过点击左侧菜单栏中的启动游戏进入高级启动器功能
        • 第一次使用时你会被跳转到设置页面以设置你的游戏路径
        • 选择游戏路径时,请注意此处选择的应是游戏本身
          • 形如:$\Genshin Impact\Genshin Impact Game\YuanShen.exe
          • 而官方启动器的目录一般是$\Genshin Impact\launcher.exe
      • 在设置完毕启动游戏所需的附加选项后,点击右上角的启动游戏按钮即可
        • 附加选项请看本页下方的功能文档

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱指南 4 - 高级启动器(切换帐号/切换服务器/帧率解锁)

      切换服务器

      权限提示

      1. 使用该功能时需要以管理员权限启动胡桃工具
      2. 胡桃工具箱会在数据目录下创建一个名为 ServerCache 的文件夹并储存转换服务器所需要的文件
      • 在主界面点击左侧菜单栏进入启动游戏页面
      • 找到常规分类中的服务器一栏
      • 点击右侧选项中的服务器名称,选择要进入的服务器
        • 目前可选的服务器包括:
          选项服务器
          官方服中国大陆服务器
          渠道服使用 BiliBili 帐号登录的中国大陆服务器
          国际服 DefaultHoYoVerse 国际服服务器
          国际服 Epic使用 Epic 商城支付网关的 HoYoVerse 国际服服务器
          国际服 Google使用 Google Pay 支付网关的 HoYoVerse 国际服服务器
      • 点击右上角的启动游戏按钮,胡桃会自动下载并应用对应服务器的文件并启动游戏

      账号保存

      提示

      1. 本功能所描述的帐号,特指当前原神所登录游戏账号的登录状态
      2. 目前仅支持切换官方服(不含渠道服)帐号
      官方服渠道服国际服
      保存登录状态支持支持支持
      切换账号支持不支持理论支持
      我们期待更多的社区开发者帮助open in new window
      1. 在主界面点击左侧菜单栏进入启动游戏标签
      2. 点击常规分类中的检测账号一栏,胡桃工具箱会保存当前原神游戏的登录状态
      3. 在弹出的为账号命名界面中,输入您要为此账号设置的名称,点击确认
      4. 在游戏中,注销当前登录并登录你另一个帐号。重复执行上述的第 2 步和第三步直至你将全部的帐号添加进胡桃工具箱中。
      5. 此时即可在账号功能下方自由选择您要切换的账号
        • 每个已保存的账号均为可点击选择的按钮
        • 在其右侧有三个按钮,分别为:
          • 绑定当前用户角色,即将您当前选择的米游社登录状态绑定至该账号中,点击该按钮后,对应的 UID 将出现在该账号自定义名称的下方
          • 重命名,即修改当前选择账号的自定义名称
          • 删除,即删除当前选择的账号

      外观选项

      注意

      • 在当前的游戏版本中,有案例表明部分用户使用胡桃工具箱,选择独占全屏模式启动原神游戏,出现游戏无响应或卡顿的情况
        • 建议此部分用户使用无边框选项进行启动游戏
        • 问题的来源是游戏内置浏览器无法运行
      • 在主界面点击左侧菜单栏进入启动游戏标签
      • 外观功能中,有六个选项:
        • 独占全屏,即选择游戏进程以独占全屏模式运行
        • 全屏,即选择启动游戏后的游戏界面是否设置为全屏
        • 无边框,即选择启动游戏后的游戏界面是否设置为无边框窗口
        • 宽度,即选择启动游戏后的游戏界面的宽度,例如1920
        • 高度,即选择启动游戏后的游戏界面的高度,例如1080
        • 显示器,允许多显示器用户选择指定的显示器来运行游戏

      高级功能

      警告

      • 请注意:高级功能已明确标注为 Dangerous Feature,即危险功能,选择启用即代表您选择自行承担任意风险
      • 你需要首先在胡桃设置页面中启用高级功能

      解锁帧率上限

      警告

      • Unlocker 项目open in new window仅作用于 UnityPlayer 本身,即直接作用于 Unity3D 引擎,与游戏本体不发生直接关系,本质上与移动端中120帧率等设置无异,但您仍应谨慎使用并自行阅读用户协议
      • 使用管理员模式启动胡桃

      • 在主界面点击左侧菜单栏进入启动游戏标签

      • 在最下方可见 解锁帧率限制 选项

        • 在右侧点击开启或关闭按钮,所显示的 禁用启用 分别代表已禁用已启用该功能
        • 在下方的 设置帧率上限 选项中,可自由拖动拉杆,调整到您需要设置的最高帧率上限
      • 会导致解锁帧率上限失败的因素:

        • 胡桃工具箱没有保持在后台运行
        • 游戏内未关闭垂直同步选项
        • 在显卡驱动中存在最大帧速率的设置
        • 在显卡驱动软件内存在未关闭的类似于节能模式的选项
        • 显卡性能不足

      游戏客户端多开

      警告

      游戏客户端多开是一个远比解锁帧率上限还危险的功能,你应当在亲自或邀请有技术知识的专业人士审阅代码后自行判断是否使用该功能。

      使用该功能会导致原神反作弊功能加载失败,原神客户端会向米哈游服务器汇报该现实情况。

      1. 使用管理员模式启动胡桃
      2. 在主界面点击左侧菜单栏进入启动游戏标签
      3. 在最下方启用 多客户端 选项
      4. 点击右上角的启动游戏
      5. 等待 12 秒后再进门
      6. 重复步骤 4 和步骤 5 以开启下一个客户端
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/hutao-API.html b/zh/features/hutao-API.html index 8898647f4..450840f3e 100644 --- a/zh/features/hutao-API.html +++ b/zh/features/hutao-API.html @@ -31,10 +31,10 @@ } - + -

      胡桃数据库/深渊统计

      DGP-Studio功能教程大约 4 分钟

      胡桃数据库/深渊统计

      胡桃工具箱提供两个主要的深境螺旋挑战统计的功能

      • 侧栏中的深渊统计是一个旨在通过统计并展示广大玩家深境螺旋挑战数据,来帮助对原神对战系统不熟悉玩家组建队伍、通关深渊、获取奖励的功能
      • 侧栏中的深渊记录是一个通过保存玩家每一期深境螺旋挑战数据来帮助个人玩家回顾游戏经历及个人数据收集的统计功能
        • 众多的玩家通过上传个人的深渊记录来形成胡桃数据库的深渊统计数据集

      character-usage-rate

      查看深渊数据

      数据范围局限性

      所有计算数据都基于已上传至胡桃数据库中的玩家数据,无法代表全部原神玩家的平均数据,数据仅做参考用途

      数据刷新周期

      1. 深境螺旋统计数据(角色使用率、角色出场率、队伍出场)在帐号所属游戏服务器时区每月 1 日和 16 日的 4 点自动清理。
        • 点击界面右上角的信息按钮你可以查看当前实时已上传的总数据
      2. 同时,若用户在 30 天内没有重新上传记录以更新数据,则其的角色持有数据将被清理
      • 在主界面点击左侧菜单栏进入深渊统计页面
      • 点击角色使用以查看角色使用率数据
        • 角色使用率 = 角色在当前层数出场次数[1] / 持有该角色的玩家在该层数的总记录数
      • 点击角色出场以查看角色出场率数据
        • 角色出场率 = 角色在当前层数出场次数[2] / 当前层数总记录数
      • 点击角色持有以查看角色持有率数据[3]
        • 角色持有率[4] = 所有拥有该角色的玩家数量 / 全部玩家数量
      • 点击队伍出场以查看队伍组合出场次数数据
        • 各种角色组队情况下出场次数的排名

      上传深境螺旋数据

      使用胡桃客户端

      • 在主界面点击左侧菜单栏进入深渊记录功能页面
      • 点击右上角的刷新数据以确保胡桃工具箱客户端已经获取到最新的个人深境螺旋数据
      • 点击右上角的上传数据以上传你的深境螺旋数据
        • 这可能需要花费数秒,上传成功后你将会看到如下图的成功提示 upload-hutaoapi

      使用浏览器

      相关信息

      该方法不适用于 HoYoLab

      • 打开我们的 JavaScript 脚本,复制全部内容

      • 在浏览器中创建一个新的书签

        • 在名称中填写一个合适的名称
        • 在 URL 中粘贴你刚刚复制的全部代码

        add-bookmark

      • 访问米游社,在页面加载完成后点击你刚刚创建的书签

      • 稍等片刻,你应该能看到请求上传的确认窗口

      • 在确认后,浏览器将上传你的深渊数据,请勿关闭米游社页面

      • 在上传完成后,浏览器会有确认完成的提示窗口


      1. 在当前层中不同间内多次出现的同一个角色仅记 1 次出场次数 ↩︎

      2. 在当前层中不同间内多次出现的同一个角色仅记 1 次出场次数 ↩︎

      3. 角色持有数据与深境螺旋记录独立 ↩︎

      4. 只要拥有该角色,即使没有在深境螺旋中登场,也会被计入拥有的状态;只要上传过深境螺旋记录,即会被计入全部玩家的数据中。 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      胡桃数据库/深渊统计

      DGP-Studio功能教程大约 4 分钟

      胡桃数据库/深渊统计

      胡桃工具箱提供两个主要的深境螺旋挑战统计的功能

      • 侧栏中的深渊统计是一个旨在通过统计并展示广大玩家深境螺旋挑战数据,来帮助对原神对战系统不熟悉玩家组建队伍、通关深渊、获取奖励的功能
      • 侧栏中的深渊记录是一个通过保存玩家每一期深境螺旋挑战数据来帮助个人玩家回顾游戏经历及个人数据收集的统计功能
        • 众多的玩家通过上传个人的深渊记录来形成胡桃数据库的深渊统计数据集

      character-usage-rate

      查看深渊数据

      数据范围局限性

      所有计算数据都基于已上传至胡桃数据库中的玩家数据,无法代表全部原神玩家的平均数据,数据仅做参考用途

      数据刷新周期

      1. 深境螺旋统计数据(角色使用率、角色出场率、队伍出场)在帐号所属游戏服务器时区每月 1 日和 16 日的 4 点自动清理。
        • 点击界面右上角的信息按钮你可以查看当前实时已上传的总数据
      2. 同时,若用户在 30 天内没有重新上传记录以更新数据,则其的角色持有数据将被清理
      • 在主界面点击左侧菜单栏进入深渊统计页面
      • 点击角色使用以查看角色使用率数据
        • 角色使用率 = 角色在当前层数出场次数[1] / 持有该角色的玩家在该层数的总记录数
      • 点击角色出场以查看角色出场率数据
        • 角色出场率 = 角色在当前层数出场次数[2] / 当前层数总记录数
      • 点击角色持有以查看角色持有率数据[3]
        • 角色持有率[4] = 所有拥有该角色的玩家数量 / 全部玩家数量
      • 点击队伍出场以查看队伍组合出场次数数据
        • 各种角色组队情况下出场次数的排名

      上传深境螺旋数据

      使用胡桃客户端

      • 在主界面点击左侧菜单栏进入深渊记录功能页面
      • 点击右上角的刷新数据以确保胡桃工具箱客户端已经获取到最新的个人深境螺旋数据
      • 点击右上角的上传数据以上传你的深境螺旋数据
        • 这可能需要花费数秒,上传成功后你将会看到如下图的成功提示 upload-hutaoapi

      使用浏览器

      相关信息

      该方法不适用于 HoYoLab

      • 打开我们的 JavaScript 脚本,复制全部内容

      • 在浏览器中创建一个新的书签

        • 在名称中填写一个合适的名称
        • 在 URL 中粘贴你刚刚复制的全部代码

        add-bookmark

      • 访问米游社,在页面加载完成后点击你刚刚创建的书签

      • 稍等片刻,你应该能看到请求上传的确认窗口

      • 在确认后,浏览器将上传你的深渊数据,请勿关闭米游社页面

      • 在上传完成后,浏览器会有确认完成的提示窗口


      1. 在当前层中不同间内多次出现的同一个角色仅记 1 次出场次数 ↩︎

      2. 在当前层中不同间内多次出现的同一个角色仅记 1 次出场次数 ↩︎

      3. 角色持有数据与深境螺旋记录独立 ↩︎

      4. 只要拥有该角色,即使没有在深境螺旋中登场,也会被计入拥有的状态;只要上传过深境螺旋记录,即会被计入全部玩家的数据中。 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/hutao-settings.html b/zh/features/hutao-settings.html index b456099c8..e5ba9d72b 100644 --- a/zh/features/hutao-settings.html +++ b/zh/features/hutao-settings.html @@ -31,10 +31,10 @@ } - + -

      软件设置

      DGP-Studio功能教程大约 3 分钟

      软件设置

      相关信息

      • 以下内容将以胡桃工具箱内的设置功能的条目排列顺序为介绍顺序

      关于 胡桃

      该部分包含以下信息:

      胡桃帐号 测试功能

      Hutao-account 胡桃帐号是由 DGP-Studio 团队创建的为胡桃工具箱服务的帐号系统,以使用在会在未来提供的包括祈愿云同步在内的涉及云端服务的功能。 目前胡桃帐号已支持注册和登录,你可以在设置中点击这一选项以注册并登录你的帐号。

      外观

      • 语言

        • 默认情况下胡桃会跟随系统设置来显示对应的语言
        • 使用该功能你可以强制将胡桃的显示语言设置为指定的语言
      • 背景材质

        • 在此选项中,您可以更改背景的材质为:
          • 亚克力
          • 云母 (Windows 11 特性)
          • 变种云母(Windows 11 特性)
        • 每个背景材质被选中后,您可以即时查看更改后的效果

      @slidestart auto

      Windows 10 亚克力

      win10-亚克力


      Windows 11 亚克力

      win11-亚克力


      Windows 11 云母

      win11-云母


      Windows 11 变种云母

      win11-变种云母

      @slideend

      祈愿记录

      • 在此条目中,您可以选择是否隐藏无记录的历史祈愿活动,即"没有祈愿记录的卡池"

      游戏

      • 游戏路径
        • 在此条目中,可以修改或设置您的游戏路径
        • 选择游戏路径时,请注意此处选择的应是游戏本身
          • 形如:$\Genshin Impact\Genshin Impact Game\YuanShen.exe
      • 删除游戏内网页缓存
        • 若您在使用祈愿记录功能时,选择使用"从缓存刷新",但频繁提示验证密钥过期,可以尝试此操作
        • 点击此选项即可执行操作

      储存空间

      • 打开数据文件夹

        • 点击此选项,即可打开包含"用户数据/日志/元数据"的文件夹
      • 更换数据目录

        • 此选项将允许用户将数据文件夹设置到其它目录
      • 打开缓存文件夹

        • 点击此选项即可打开包含"图片缓存"的文件夹
        • 在此文件夹内,存储了胡桃工具箱在运行期间产生的图片缓存
      • 重置图片资源

        • 此选项允许用户在有大量图片下载失败的情况下重置缓存记录,执行该操作后软件会重启并重新下载图片缓存资源

      米游社每日签到

      提示

      米游社签到功能主要用于米游社帐号登录状态监测

      • 如何使用
        • 首先需要您在米游社多账号切换功能中,选中当前需要进行签到的米游社账号
        • 点击"打开签到对话框"按钮
        • 胡桃工具箱会打开签到页面,随后你即可手动签到
      • 该功能的正常使用界面:
        米游社每日签到

      危险功能

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      软件设置

      DGP-Studio功能教程大约 3 分钟

      软件设置

      相关信息

      • 以下内容将以胡桃工具箱内的设置功能的条目排列顺序为介绍顺序

      关于 胡桃

      该部分包含以下信息:

      胡桃帐号 测试功能

      Hutao-account 胡桃帐号是由 DGP-Studio 团队创建的为胡桃工具箱服务的帐号系统,以使用在会在未来提供的包括祈愿云同步在内的涉及云端服务的功能。 目前胡桃帐号已支持注册和登录,你可以在设置中点击这一选项以注册并登录你的帐号。

      外观

      • 语言

        • 默认情况下胡桃会跟随系统设置来显示对应的语言
        • 使用该功能你可以强制将胡桃的显示语言设置为指定的语言
      • 背景材质

        • 在此选项中,您可以更改背景的材质为:
          • 亚克力
          • 云母 (Windows 11 特性)
          • 变种云母(Windows 11 特性)
        • 每个背景材质被选中后,您可以即时查看更改后的效果

      @slidestart auto

      Windows 10 亚克力

      win10-亚克力


      Windows 11 亚克力

      win11-亚克力


      Windows 11 云母

      win11-云母


      Windows 11 变种云母

      win11-变种云母

      @slideend

      祈愿记录

      • 在此条目中,您可以选择是否隐藏无记录的历史祈愿活动,即"没有祈愿记录的卡池"

      游戏

      • 游戏路径
        • 在此条目中,可以修改或设置您的游戏路径
        • 选择游戏路径时,请注意此处选择的应是游戏本身
          • 形如:$\Genshin Impact\Genshin Impact Game\YuanShen.exe
      • 删除游戏内网页缓存
        • 若您在使用祈愿记录功能时,选择使用"从缓存刷新",但频繁提示验证密钥过期,可以尝试此操作
        • 点击此选项即可执行操作

      储存空间

      • 打开数据文件夹

        • 点击此选项,即可打开包含"用户数据/日志/元数据"的文件夹
      • 更换数据目录

        • 此选项将允许用户将数据文件夹设置到其它目录
      • 打开缓存文件夹

        • 点击此选项即可打开包含"图片缓存"的文件夹
        • 在此文件夹内,存储了胡桃工具箱在运行期间产生的图片缓存
      • 重置图片资源

        • 此选项允许用户在有大量图片下载失败的情况下重置缓存记录,执行该操作后软件会重启并重新下载图片缓存资源

      米游社每日签到

      提示

      米游社签到功能主要用于米游社帐号登录状态监测

      • 如何使用
        • 首先需要您在米游社多账号切换功能中,选中当前需要进行签到的米游社账号
        • 点击"打开签到对话框"按钮
        • 胡桃工具箱会打开签到页面,随后你即可手动签到
      • 该功能的正常使用界面:
        米游社每日签到

      危险功能

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/index.html b/zh/features/index.html index 9bf61acc4..755be518b 100644 --- a/zh/features/index.html +++ b/zh/features/index.html @@ -31,10 +31,10 @@ } - + - - + + diff --git a/zh/features/mhy-account-switch.html b/zh/features/mhy-account-switch.html index 1902f8893..f091b570a 100644 --- a/zh/features/mhy-account-switch.html +++ b/zh/features/mhy-account-switch.html @@ -31,10 +31,10 @@ } - + -

      米游社多帐号切换

      DGP-Studio功能教程大约 2 分钟

      米游社多帐号切换

      提示

      胡桃工具箱支持中国大陆版米哈游论坛米游社和国际版论坛 HoYoLab的帐号。HoYoLab 默认阻拦来自中国大陆的网络连接,Snap Hutao 软件无法自行绕开该限制。

      • 本文档所描述的帐号切换指的是用于获取游戏数据的米游社/ HoYoLab 帐号,不是原神游戏内的帐号
      • 在使用本功能前,你需要使用官方的米游社 App 登录你的帐号以初始化你的米游社功能
        • 如果在胡桃中登录的帐号名称格式为 user_123456789 则其有可能没有被初始化

      多帐号管理样图

      胡桃工具箱视频指南 - 米游社帐号登录

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      • 你可以在程序主界面的左下角,设置按钮的上方找到帐号菜单,以管理你在胡桃工具箱中登录的米游社帐号。在弹出的面板中你可以添加米游社或 HoYoLab 帐号 ,登录它们的方法是一样的:
        • 在对应的帐号种类中点击网页登录按钮
          • 您也可以通过点击手动输入按钮,直接输入米游社通行证 cookie 来添加您的帐号
          • 若您选择手动输入米游社 cookie,则该 cookie 必须包含 Stoken 字段
        • 在弹出的内置浏览器登陆成功后,点击右上角的"我已登陆"按钮
        • 完成后,您就可以在帐号管理面板切换已登录的米游社帐号了
          • 新添加米游社账号后,需在主界面左下角切换账号的功能中,手动点击一次新登录的账号,以将其设置为使用状态
          • 你可以在帐号管理菜单中复制对应帐号的 cookie 或从胡桃工具箱中删除该帐号

      安全提示

      • Stoken 是一个安全敏感的 cookie 字段,你不应该在任何云端或其它无法保证数据安全的设备上储存含有 Stoken 字段的 cookie。
      • 从胡桃工具箱中复制获得的 cookie 中包含该字段,请慎重考虑是否为接受 cookie 的一方提供 Stoken 字段。
      • 在胡桃工具箱中通过密码或 cookie 登录米游社的过程中,你的数据只经米游社服务器和本地胡桃工具箱处理,不经过包括胡桃服务器在内的任何第三方服务。
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      米游社多帐号切换

      DGP-Studio功能教程大约 2 分钟

      米游社多帐号切换

      提示

      胡桃工具箱支持中国大陆版米哈游论坛米游社和国际版论坛 HoYoLab的帐号。HoYoLab 默认阻拦来自中国大陆的网络连接,Snap Hutao 软件无法自行绕开该限制。

      • 本文档所描述的帐号切换指的是用于获取游戏数据的米游社/ HoYoLab 帐号,不是原神游戏内的帐号
      • 在使用本功能前,你需要使用官方的米游社 App 登录你的帐号以初始化你的米游社功能
        • 如果在胡桃中登录的帐号名称格式为 user_123456789 则其有可能没有被初始化

      多帐号管理样图

      胡桃工具箱视频指南 - 米游社帐号登录

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      • 你可以在程序主界面的左下角,设置按钮的上方找到帐号菜单,以管理你在胡桃工具箱中登录的米游社帐号。在弹出的面板中你可以添加米游社或 HoYoLab 帐号 ,登录它们的方法是一样的:
        • 在对应的帐号种类中点击网页登录按钮
          • 您也可以通过点击手动输入按钮,直接输入米游社通行证 cookie 来添加您的帐号
          • 若您选择手动输入米游社 cookie,则该 cookie 必须包含 Stoken 字段
        • 在弹出的内置浏览器登陆成功后,点击右上角的"我已登陆"按钮
        • 完成后,您就可以在帐号管理面板切换已登录的米游社帐号了
          • 新添加米游社账号后,需在主界面左下角切换账号的功能中,手动点击一次新登录的账号,以将其设置为使用状态
          • 你可以在帐号管理菜单中复制对应帐号的 cookie 或从胡桃工具箱中删除该帐号

      安全提示

      • Stoken 是一个安全敏感的 cookie 字段,你不应该在任何云端或其它无法保证数据安全的设备上储存含有 Stoken 字段的 cookie。
      • 从胡桃工具箱中复制获得的 cookie 中包含该字段,请慎重考虑是否为接受 cookie 的一方提供 Stoken 字段。
      • 在胡桃工具箱中通过密码或 cookie 登录米游社的过程中,你的数据只经米游社服务器和本地胡桃工具箱处理,不经过包括胡桃服务器在内的任何第三方服务。
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/real-time-notes.html b/zh/features/real-time-notes.html index c2c1660bd..ca36b0da8 100644 --- a/zh/features/real-time-notes.html +++ b/zh/features/real-time-notes.html @@ -31,10 +31,10 @@ } - + -

      实时便笺

      DGP-Studio功能教程大约 2 分钟

      实时便笺

      相关信息

      该功能需要你在胡桃工具箱中登录米游社帐号,登录方法可见米游社多帐号切换文档

      live-data-tracking

      添加角色

      • 点击添加角色按钮
      • 在弹出的添加角色浮窗中,找到你要添加的游戏角色 UID,并单击其右侧的加号按钮
      • 此时您添加的游戏角色即可显示在实时便笺页面中
        • 实时便笺是间隔固定时间自动刷新的
          • 你可以点击窗口右上角的通知设置来设置查询的间隔时间
          • 如您需要立即刷新以获取实时的最新数值,请单击立即刷新按钮
        • 如出现"账号有风险,请前往米游社查看"字样的提示

      全局通知设置

      • 在窗口右上角点击通知设置可以修改实时便笺的全局设置,包括:
        • 数据刷新间隔时间
        • 通知免打扰
        • 高优先度通知
          • 这将避免胡桃工具箱的通知被自动收入操作中心
          • 请注意,开启此设置可能会让您在日常使用电脑期间受到打扰

      帐号独立设置

      • 胡桃工具箱的实时便笺功能允许用户对每一个被监控的帐号给予不同的设置
      • 将鼠标停留在需要被设置的角色实时便笺的窗体上
      • 点击其窗体右上角出现的设置图案按钮,即可修改如下参数
        • 原粹树脂提醒阈值
        • 洞天宝钱提醒阈值
        • 启用参量质变仪提醒
        • 启用每日委托上限提醒
        • 启用探索派遣完成提醒
        • 启用在主页显示卡片 (未上线的新功能)
      • 点击保存,即可保存您当前所设置的通知选项

      删除角色

      • 将鼠标停留在需要被设置的角色实时便笺的窗体上
      • 点击其窗体右上角出现的移除标志按钮,即可移除该角色对应的实时便笺
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      实时便笺

      DGP-Studio功能教程大约 2 分钟

      实时便笺

      相关信息

      该功能需要你在胡桃工具箱中登录米游社帐号,登录方法可见米游社多帐号切换文档

      live-data-tracking

      添加角色

      • 点击添加角色按钮
      • 在弹出的添加角色浮窗中,找到你要添加的游戏角色 UID,并单击其右侧的加号按钮
      • 此时您添加的游戏角色即可显示在实时便笺页面中
        • 实时便笺是间隔固定时间自动刷新的
          • 你可以点击窗口右上角的通知设置来设置查询的间隔时间
          • 如您需要立即刷新以获取实时的最新数值,请单击立即刷新按钮
        • 如出现"账号有风险,请前往米游社查看"字样的提示

      全局通知设置

      • 在窗口右上角点击通知设置可以修改实时便笺的全局设置,包括:
        • 数据刷新间隔时间
        • 通知免打扰
        • 高优先度通知
          • 这将避免胡桃工具箱的通知被自动收入操作中心
          • 请注意,开启此设置可能会让您在日常使用电脑期间受到打扰

      帐号独立设置

      • 胡桃工具箱的实时便笺功能允许用户对每一个被监控的帐号给予不同的设置
      • 将鼠标停留在需要被设置的角色实时便笺的窗体上
      • 点击其窗体右上角出现的设置图案按钮,即可修改如下参数
        • 原粹树脂提醒阈值
        • 洞天宝钱提醒阈值
        • 启用参量质变仪提醒
        • 启用每日委托上限提醒
        • 启用探索派遣完成提醒
        • 启用在主页显示卡片 (未上线的新功能)
      • 点击保存,即可保存您当前所设置的通知选项

      删除角色

      • 将鼠标停留在需要被设置的角色实时便笺的窗体上
      • 点击其窗体右上角出现的移除标志按钮,即可移除该角色对应的实时便笺
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/weapon-wiki.html b/zh/features/weapon-wiki.html index 7031b6763..2e44fa16f 100644 --- a/zh/features/weapon-wiki.html +++ b/zh/features/weapon-wiki.html @@ -31,10 +31,10 @@ } - + -

      武器资料

      DGP-Studio功能教程小于 1 分钟

      武器资料

      weapon-wiki

      武器资料是胡桃工具箱中内置的用于查询各个武器的外观、参数、精炼效果、推荐搭配等数据的 Wiki

      已包含的数据

      • 武器列表
        • 使用列表左上角的按钮,可切换列表显示的方式:即"缩略图与名称"或"仅缩略图"
        • 单击列表中的缩略图或名称,即可跳转到相应的介绍页面
      • 数据内容
        • 武器基本信息
          • 突破前后的武器图标对比
          • 对应武器的立绘展示
          • 武器的简介内容
          • 可切换至对应等级的武器各项数值
        • 武器精炼信息
          • 对应精炼阶数的精炼属性
        • 根据胡桃数据库的统计信息而展示的武器使用的相关推荐
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      武器资料

      DGP-Studio功能教程小于 1 分钟

      武器资料

      weapon-wiki

      武器资料是胡桃工具箱中内置的用于查询各个武器的外观、参数、精炼效果、推荐搭配等数据的 Wiki

      已包含的数据

      • 武器列表
        • 使用列表左上角的按钮,可切换列表显示的方式:即"缩略图与名称"或"仅缩略图"
        • 单击列表中的缩略图或名称,即可跳转到相应的介绍页面
      • 数据内容
        • 武器基本信息
          • 突破前后的武器图标对比
          • 对应武器的立绘展示
          • 武器的简介内容
          • 可切换至对应等级的武器各项数值
        • 武器精炼信息
          • 对应精炼阶数的精炼属性
        • 根据胡桃数据库的统计信息而展示的武器使用的相关推荐
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/features/wish-export.html b/zh/features/wish-export.html index 42d9d57ef..d16d67530 100644 --- a/zh/features/wish-export.html +++ b/zh/features/wish-export.html @@ -31,10 +31,10 @@ } - + -

      祈愿记录

      DGP-Studio功能教程大约 7 分钟

      祈愿记录

      抽卡是原神的核心玩法之一,无论是出于纪念、炫耀的目的还是认真规划抽取计划,对历史抽卡进行统计分析都是非常重要的。 但是原神官方只为玩家提供了半年的抽卡记录,这是很不友好的(但是他们还是统计了你一整年杀了多少提米的鸽子)。

      因此,我们需要利用这半年的抽卡记录调取窗口,将抽卡记录转移到我们自己手中,这就是胡桃工具箱中祈愿记录导出功能的目的所在。

      有关原神祈愿记录导出的技术原理,你可以参阅我们的祈愿系统与导出原理一文。

      祈愿导出

      如上图所示,从胡桃工具箱的祈愿导出功能,你可以清晰地获取到包括:抽卡总数、当前已垫抽数、不同稀有度获取的数量和百分比、 每次五星稀有度获取的抽数以及保底情况。

      原神抽卡记录的延迟性

      胡桃工具箱获取抽卡记录的来源也为米哈游服务器,因此短时间内刚刚结束的抽卡无法被获取。 当你在游戏内抽卡历史记录中看到了最新的一批抽卡记录,则可以在胡桃中获取统计数据。

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱指南 5 - 祈愿记录导出篇

      获取祈愿数据

      利用 Stoken 从服务器获取最新的祈愿记录 推荐

      提示

      • 已登录的米游社帐号是使用 Stoken 刷新方法的前提,你可以参考米游社多帐号切换一文在胡桃工具箱中登录你的帐号
      • Stoken 刷新方法暂不支持国际服
      • 在胡桃工具箱中确保你需要获取记录的米游社帐号已登录
      • 从左侧菜单栏进入祈愿记录
      • 点击右上角的刷新,并点击Stoken刷新
      • 等待读取完毕,即可查看最新的祈愿记录

      从网页缓存获取最新的祈愿记录 支持国际服

      • 从左侧菜单栏进入祈愿记录
      • 启动游戏并登入游戏,打开游戏内的祈愿历史记录
      • 回到胡桃工具箱,点击刷新按钮,在刷新菜单中点击网页缓存刷新

      提示

      若出现网页缓存刷新功能异常的情况:

      • 从胡桃工具箱的设置
      • 删除游戏内网页缓存功能中执行删除操作

      通过输入 Url 获取祈愿记录 支持国际服

      • 如果你通过其它工具获取到了你祈愿历史记录的 Url,可以选择手动输入Url并根据提示操作
      • 但应注意此类 Url 具有时效性

      对于全量刷新选项的补充说明

      在默认情况下,胡桃工具箱会在匹配到本地已有记录的祈愿 ID 后停止导入。 但如果你希望完整地获取原神服务器中所有的历史记录(即使它已经存在于你的本地祈愿记录中),你可以勾选全量刷新

      不勾选全量刷新不会使你丢失祈愿数据,勾选全量刷新也不会让你的本地记录错误地额外记录一次相同的祈愿数据。

      从其它祈愿导出程序导入祈愿数据 UIGF

      胡桃工具箱支持导入 UIGF 数据格式 的祈愿记录数据[1]

      如果你希望导入这一类数据,可以:

      • 启动胡桃工具箱,从左侧菜单栏进入祈愿记录
      • 点击右上角的导入
      • 选择你的 UIGF Json 数据文件
      • 根据界面确认导入数据

      从 Snap Genshin 转移祈愿记录数据

      如果你希望从 Snap Genshin 中转移祈愿数据至胡桃工具箱,你可以:

      • 升级 Snap Genshin 到最新版本
      • 进入祈愿记录功能
        • 如果你由于无法登录米游社而无法进入 Snap Genshin,可以在胡桃工具箱中登录米游社帐号并复制 Cookie 到 Snap Genshin
      • 点击右上角的功能菜单
      • 通过导出 UIGF Json 文件导出 Json 格式的祈愿记录
      • 在胡桃工具箱中导入该文件

      导出祈愿数据 UIGF

      胡桃工具箱支持导出 UIGF数据格式 的 Json 文件格式的祈愿记录数据

      如果你希望导出祈愿数据,可以:

      • 启动胡桃工具箱,从左侧菜单栏进入祈愿记录
      • 选择您要导出的祈愿记录存档
      • 点击导出按钮
        • 在弹出的界面选择您需要将此导出的祈愿记录数据文件存放的位置,并点击导出
      • 导出完成

      祈愿记录云同步 测试功能

      祈愿记录云同步功能基于胡桃云帐号,你需要在设置中注册并登录胡桃帐号以使用该功能

      在胡桃工具箱 1.6.1 版本中,我们推出了祈愿云同步功能。用户可以使用该功能,将本地的祈愿记录上传到胡桃云,避免珍贵的祈愿记录丢失,方便数据在多设备之间转移。

      云同步权限

      由于云同步是一个消耗胡桃服务器资源的功能,故该功能不向全部用户开放。目前,胡桃提供以下几种启用云同步功能的方法:

      1. 在爱发电上打赏胡桃的用户,我们会向与爱发电邮箱帐号相匹配的胡桃帐号自动增加使用时间
      2. 对于所有注册用户,在每一期深渊第一次成功向胡桃数据库上传深境螺旋挑战记录后,会获得 5 天的同步功能使用时间
      3. 为胡桃工具箱开源社区贡献(包括但不限于代码开发、程序设计、本地化翻译)的用户,可以直接联系开发团队添加时长
        • 我们目前正在设计一个完善而自动化的开发者许可证颁发流程,它将会随着胡桃帐号系统的完善而推出

      当你的胡桃帐号云同步权限过期后,你将无法上传或下载数据,但你的数据不会被删除。你可以在恢复权限后重新操作你的云备份数据。 在权限过期时,你仍然可以手动删除你的云端数据。

      上传

      • 在祈愿导出界面,选择你需要同步的祈愿存档
      • 点击右上角的胡桃云按钮
      • 点击上传当前的祈愿存档即可备份当前的存档数据至云端

      下载

      • 在祈愿导出界面,点击右上角的胡桃云按钮
      • 在对应 UID 的帐号右侧点击下载按钮即可下载目标存档的云端数据

      删除

      • 在祈愿导出界面,点击右上角的胡桃云按钮
      • 在对应 UID 的帐号右侧点击删除按钮即可删除目标存档的云端数据

      1. 统一标准化的原神数据格式由 UIGF-Orgopen in new window 提供 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      祈愿记录

      DGP-Studio功能教程大约 7 分钟

      祈愿记录

      抽卡是原神的核心玩法之一,无论是出于纪念、炫耀的目的还是认真规划抽取计划,对历史抽卡进行统计分析都是非常重要的。 但是原神官方只为玩家提供了半年的抽卡记录,这是很不友好的(但是他们还是统计了你一整年杀了多少提米的鸽子)。

      因此,我们需要利用这半年的抽卡记录调取窗口,将抽卡记录转移到我们自己手中,这就是胡桃工具箱中祈愿记录导出功能的目的所在。

      有关原神祈愿记录导出的技术原理,你可以参阅我们的祈愿系统与导出原理一文。

      祈愿导出

      如上图所示,从胡桃工具箱的祈愿导出功能,你可以清晰地获取到包括:抽卡总数、当前已垫抽数、不同稀有度获取的数量和百分比、 每次五星稀有度获取的抽数以及保底情况。

      原神抽卡记录的延迟性

      胡桃工具箱获取抽卡记录的来源也为米哈游服务器,因此短时间内刚刚结束的抽卡无法被获取。 当你在游戏内抽卡历史记录中看到了最新的一批抽卡记录,则可以在胡桃中获取统计数据。

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱指南 5 - 祈愿记录导出篇

      获取祈愿数据

      利用 Stoken 从服务器获取最新的祈愿记录 推荐

      提示

      • 已登录的米游社帐号是使用 Stoken 刷新方法的前提,你可以参考米游社多帐号切换一文在胡桃工具箱中登录你的帐号
      • Stoken 刷新方法暂不支持国际服
      • 在胡桃工具箱中确保你需要获取记录的米游社帐号已登录
      • 从左侧菜单栏进入祈愿记录
      • 点击右上角的刷新,并点击Stoken刷新
      • 等待读取完毕,即可查看最新的祈愿记录

      从网页缓存获取最新的祈愿记录 支持国际服

      • 从左侧菜单栏进入祈愿记录
      • 启动游戏并登入游戏,打开游戏内的祈愿历史记录
      • 回到胡桃工具箱,点击刷新按钮,在刷新菜单中点击网页缓存刷新

      提示

      若出现网页缓存刷新功能异常的情况:

      • 从胡桃工具箱的设置
      • 删除游戏内网页缓存功能中执行删除操作

      通过输入 Url 获取祈愿记录 支持国际服

      • 如果你通过其它工具获取到了你祈愿历史记录的 Url,可以选择手动输入Url并根据提示操作
      • 但应注意此类 Url 具有时效性

      对于全量刷新选项的补充说明

      在默认情况下,胡桃工具箱会在匹配到本地已有记录的祈愿 ID 后停止导入。 但如果你希望完整地获取原神服务器中所有的历史记录(即使它已经存在于你的本地祈愿记录中),你可以勾选全量刷新

      不勾选全量刷新不会使你丢失祈愿数据,勾选全量刷新也不会让你的本地记录错误地额外记录一次相同的祈愿数据。

      从其它祈愿导出程序导入祈愿数据 UIGF

      胡桃工具箱支持导入 UIGF 数据格式 的祈愿记录数据[1]

      如果你希望导入这一类数据,可以:

      • 启动胡桃工具箱,从左侧菜单栏进入祈愿记录
      • 点击右上角的导入
      • 选择你的 UIGF Json 数据文件
      • 根据界面确认导入数据

      从 Snap Genshin 转移祈愿记录数据

      如果你希望从 Snap Genshin 中转移祈愿数据至胡桃工具箱,你可以:

      • 升级 Snap Genshin 到最新版本
      • 进入祈愿记录功能
        • 如果你由于无法登录米游社而无法进入 Snap Genshin,可以在胡桃工具箱中登录米游社帐号并复制 Cookie 到 Snap Genshin
      • 点击右上角的功能菜单
      • 通过导出 UIGF Json 文件导出 Json 格式的祈愿记录
      • 在胡桃工具箱中导入该文件

      导出祈愿数据 UIGF

      胡桃工具箱支持导出 UIGF数据格式 的 Json 文件格式的祈愿记录数据

      如果你希望导出祈愿数据,可以:

      • 启动胡桃工具箱,从左侧菜单栏进入祈愿记录
      • 选择您要导出的祈愿记录存档
      • 点击导出按钮
        • 在弹出的界面选择您需要将此导出的祈愿记录数据文件存放的位置,并点击导出
      • 导出完成

      祈愿记录云同步 测试功能

      祈愿记录云同步功能基于胡桃云帐号,你需要在设置中注册并登录胡桃帐号以使用该功能

      在胡桃工具箱 1.6.1 版本中,我们推出了祈愿云同步功能。用户可以使用该功能,将本地的祈愿记录上传到胡桃云,避免珍贵的祈愿记录丢失,方便数据在多设备之间转移。

      云同步权限

      由于云同步是一个消耗胡桃服务器资源的功能,故该功能不向全部用户开放。目前,胡桃提供以下几种启用云同步功能的方法:

      1. 在爱发电上打赏胡桃的用户,我们会向与爱发电邮箱帐号相匹配的胡桃帐号自动增加使用时间
      2. 对于所有注册用户,在每一期深渊第一次成功向胡桃数据库上传深境螺旋挑战记录后,会获得 5 天的同步功能使用时间
      3. 为胡桃工具箱开源社区贡献(包括但不限于代码开发、程序设计、本地化翻译)的用户,可以直接联系开发团队添加时长
        • 我们目前正在设计一个完善而自动化的开发者许可证颁发流程,它将会随着胡桃帐号系统的完善而推出

      当你的胡桃帐号云同步权限过期后,你将无法上传或下载数据,但你的数据不会被删除。你可以在恢复权限后重新操作你的云备份数据。 在权限过期时,你仍然可以手动删除你的云端数据。

      上传

      • 在祈愿导出界面,选择你需要同步的祈愿存档
      • 点击右上角的胡桃云按钮
      • 点击上传当前的祈愿存档即可备份当前的存档数据至云端

      下载

      • 在祈愿导出界面,点击右上角的胡桃云按钮
      • 在对应 UID 的帐号右侧点击下载按钮即可下载目标存档的云端数据

      删除

      • 在祈愿导出界面,点击右上角的胡桃云按钮
      • 在对应 UID 的帐号右侧点击删除按钮即可删除目标存档的云端数据

      1. 统一标准化的原神数据格式由 UIGF-Orgopen in new window 提供 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/i18n.html b/zh/i18n.html index f9372bb5b..c7cb3e10d 100644 --- a/zh/i18n.html +++ b/zh/i18n.html @@ -31,10 +31,10 @@ } - + -

      国际化支持

      DGP-Studio公告大约 2 分钟

      国际化支持

      国际化进度

      Snap Hutao 虽然基于原神国服提供功能,但项目也有意提升国际化支持,包括语言本土化和功能国际化。目前国际化进度如下:

      • Snap Hutao 主项目
          • 进度:Crowdin
      • Snap Hutao 文档
        • 进度:

      参与国际化

      • Snap Hutao 主项目
        • 我们在 GitHub 上创建了一个名为 [Hoyolab]: Globalization supportIssueopen in new window
          • 我们会在该 Issue 中更新当前主程序国际化进度
          • 你可以在这里宣布参与主程序某一部分的国际化支持,我们会为此提供支持
            • 我们也欢迎直接通过分支发起 Pull Request
        • 你可以在 translate.hut.aoopen in new window 参与客户端的翻译工作
      • Snap Hutao 文档
        • 开发团队正在维护中文文档并完善英文文档
        • 你可以克隆文档库open in new window,在你自己的库中使用你喜欢的工具翻译文档,之后创建一个 PR 来将你的作品提交到文档库中
        • 如果你计划为一个新的语言翻译文档,你可以创建一个英文文档目录(en目录)的副本然后以 [ISO 639-1 语言代码]命名
          • 比如说日语文档目录应命名为 jp
          • 不要基于中文文档(zh)翻译,因为其中有一些内容是专门有效于中文用户的;对于国际用户而言并不是有用的。
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      国际化支持

      DGP-Studio公告大约 2 分钟

      国际化支持

      国际化进度

      Snap Hutao 虽然基于原神国服提供功能,但项目也有意提升国际化支持,包括语言本土化和功能国际化。目前国际化进度如下:

      • Snap Hutao 主项目
          • 进度:Crowdin
      • Snap Hutao 文档
        • 进度:

      参与国际化

      • Snap Hutao 主项目
        • 我们在 GitHub 上创建了一个名为 [Hoyolab]: Globalization supportIssueopen in new window
          • 我们会在该 Issue 中更新当前主程序国际化进度
          • 你可以在这里宣布参与主程序某一部分的国际化支持,我们会为此提供支持
            • 我们也欢迎直接通过分支发起 Pull Request
        • 你可以在 translate.hut.aoopen in new window 参与客户端的翻译工作
      • Snap Hutao 文档
        • 开发团队正在维护中文文档并完善英文文档
        • 你可以克隆文档库open in new window,在你自己的库中使用你喜欢的工具翻译文档,之后创建一个 PR 来将你的作品提交到文档库中
        • 如果你计划为一个新的语言翻译文档,你可以创建一个英文文档目录(en目录)的副本然后以 [ISO 639-1 语言代码]命名
          • 比如说日语文档目录应命名为 jp
          • 不要基于中文文档(zh)翻译,因为其中有一些内容是专门有效于中文用户的;对于国际用户而言并不是有用的。
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/index.html b/zh/index.html index 665762e42..8358d2bf8 100644 --- a/zh/index.html +++ b/zh/index.html @@ -31,10 +31,10 @@ } - +
      胡桃工具箱

      胡桃工具箱

      一个实用的开源多功能原神工具箱

      下载快速开始文档项目介绍

      比 Snap Genshin 更好

      胡桃工具箱在继承 Snap Genshin 功能的前提下有更广泛的数据支持和更好的客户端性能表现

      实时便笺

      不必再被手机 App 所束缚;在你的电脑就能直接获取米游社实时便笺信息并收到 Windows 原生通知提示

      深渊记录

      获取玩家的个人深境螺旋挑战记录,包括统计数据和详细数据,在本地永久保存往期深境螺旋挑战记录

      多帐号切换

      胡桃工具箱支持多个米游社帐号保持登录状态并为每个帐号在各个功能中分别创建档案,玩家可以轻松管理他们的多个帐号

      祈愿记录

      支持多UID切换,从游戏日志文件获取或从其它祈愿记录程序导出数据,永久保留玩家的祈愿记录

      成就记录

      成就统计功能允许玩家导出成就数据并在游戏外进行统计;基于成就拆分,玩家可以对隐藏成就的阶段性目标进行管理

      高级启动器

      利用胡桃工具箱中的高级启动器,玩家可以轻松地切换原神帐号,切换服务器,修改游戏窗口设置并进一步探索更多高级功能

      胡桃数据库

      查看玩家社区当期深境螺旋配队、武器搭配、圣遗物搭配的详细信息;分享自己的深境螺旋阵容配置

      属性统计

      查看玩家所拥有角色的具体数据,包括等级、命之座、武器、天赋、圣遗物等;自动计算圣遗物评分和双爆评分

      角色资料

      查询角色的数值信息;天赋、命之座数据;培养材料;角色背景故事等信息;通过胡桃数据库获取玩家中最多的武器和圣遗物搭配方案

      武器资料

      查询武器的数值和背景故事;通过胡桃数据库获取玩家中最多的的角色搭配数据

      养成计算器

      根据你的实际情况制定可实施的角色养成计划;支持多账号、多计划清单以及背包物品记录

      贡献

      Snap Hutao 是一个由开源社区维护的免费项目,我们希望有更多志同道合的开发者能参与到项目中,为 Snap Hutao 带来更多的功能。

      你可以通过以下方法为项目作出贡献:

      1. 向我们提交 PRopen in new window
      2. 为项目贡献本地化翻译
      3. 为我们更新文档open in new window

      如果你认为胡桃工具箱是一个好的项目或者有帮助到你,你可以通过以下方式支持我们

      commit_activityhutao-last-commit

      平台

      Snap Hutao 目前使用了以下软件厂商提供的服务

      Deploys by NetlifyCrowdin | Agile localization for tech companies
      - + diff --git a/zh/project.html b/zh/project.html index 28fee8755..1b7371f17 100644 --- a/zh/project.html +++ b/zh/project.html @@ -31,10 +31,10 @@ } - + -

      项目说明

      DGP-Studio公告大约 1 分钟

      项目说明

      胡桃工具箱是一个 Windows 平台的开源的原神工具箱,旨在帮助玩家获得更好的游戏体验; 它是对官方移动端工具的一种非破坏性功能扩展,为不习惯在移动端进行原神游戏的 PC 玩家提供一个在 Windows 平台下获得接近移动端功能权利的途径。

      功能迁移

      胡桃正在迁移原 Snap Genshin 客户端中的功能

      已经完成迁移的功能将会在本站文档中提供指导说明,功能迁移和开发进度可以参阅下方

        • 将整合进养成计划
        • 将整合进养成计划

      新增功能

      以下新功能计划被增加到胡桃工具箱中

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      项目说明

      DGP-Studio公告大约 1 分钟

      项目说明

      胡桃工具箱是一个 Windows 平台的开源的原神工具箱,旨在帮助玩家获得更好的游戏体验; 它是对官方移动端工具的一种非破坏性功能扩展,为不习惯在移动端进行原神游戏的 PC 玩家提供一个在 Windows 平台下获得接近移动端功能权利的途径。

      功能迁移

      胡桃正在迁移原 Snap Genshin 客户端中的功能

      已经完成迁移的功能将会在本站文档中提供指导说明,功能迁移和开发进度可以参阅下方

        • 将整合进养成计划
        • 将整合进养成计划

      新增功能

      以下新功能计划被增加到胡桃工具箱中

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/quick-start.html b/zh/quick-start.html index 84becf9ca..8dbe88eda 100644 --- a/zh/quick-start.html +++ b/zh/quick-start.html @@ -31,10 +31,10 @@ } - + -

      快速开始

      DGP-Studio功能教程大约 3 分钟

      快速开始

      提示

      若您已下载或使用胡桃工具箱,即表示你已阅读并完全同意用户使用协议与法律声明

      如果你认为胡桃工具箱是一个好的项目或者有帮助到你,你可以通过以下方式支持我们

      commit_activityhutao-last-commit

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱视频指南 - 下载/安装/卸载篇

      最低系统要求

      要求规格
      最低可运行系统版本Windows 10 Build 19045 (22H2) [1]
      推荐系统版本Windows 11 Build 22621 (22H2)
      可选组件WebView2 Runtime

      下载胡桃工具箱

      无论使用何种安装方式,应用包来源和注册授权都由微软商店管理

      微软商店链接:Snap Hutao

      在 Windows 10 和 Windows 11 下你可以直接点击上面的按钮来下载胡桃工具箱

      从侧载版升级至商店版

      • 按照文档提供的卸载方法卸载侧载版应用
        • 只要不手动删除数据目录,你的数据不会受到影响
      • 按照上述方法全新安装商店版应用

      更新胡桃工具箱

      无论你使用何种方式安装了应用,你都可以选择任意的方式去更新它,不必选择和安装时一样的方法,因为微软商店是应用包唯一来源

      • 启动微软商店
      • 点击左下角的库,查看到你目前已安装的全部应用
      • 点击界面右上角的获取更新,你的应用将会被更新

      若点击获取更新后胡桃仍然没有获取到更新,则可以进入Snap Hutao商店详情页面,等待信息加载完成来获取更新

      安装 WebView2 运行时

      WebView2 运行时由微软提供,其允许胡桃在程序内低开销地启用一个内置的浏览器。作为可选组件,WebView2 运行时不是强制组件,但安装后你会更容易地使用部分功能。

      微软官网的底部,你可以找到常青独立安装程序,选择x64下载并根据提示安装即可


      1. LTSC 和 LTSB 版本系统由于不包含微软商店,不在支持列表中。Windows 10 Build 19041 亦可以安装,但部分功能会因内核问题无法使用,故该版本下的胡桃工具箱问题将不会被处理 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      快速开始

      DGP-Studio功能教程大约 3 分钟

      快速开始

      提示

      若您已下载或使用胡桃工具箱,即表示你已阅读并完全同意用户使用协议与法律声明

      如果你认为胡桃工具箱是一个好的项目或者有帮助到你,你可以通过以下方式支持我们

      commit_activityhutao-last-commit

      视频指南

      对于大多数人而言,遵循本页文档会有更高的效率。

      但如果你对其中包含的操作不熟悉,也可以回到这里来跟着视频指南操作。

      胡桃工具箱视频指南 - 下载/安装/卸载篇

      最低系统要求

      要求规格
      最低可运行系统版本Windows 10 Build 19045 (22H2) [1]
      推荐系统版本Windows 11 Build 22621 (22H2)
      可选组件WebView2 Runtime

      下载胡桃工具箱

      无论使用何种安装方式,应用包来源和注册授权都由微软商店管理

      微软商店链接:Snap Hutao

      在 Windows 10 和 Windows 11 下你可以直接点击上面的按钮来下载胡桃工具箱

      从侧载版升级至商店版

      • 按照文档提供的卸载方法卸载侧载版应用
        • 只要不手动删除数据目录,你的数据不会受到影响
      • 按照上述方法全新安装商店版应用

      更新胡桃工具箱

      无论你使用何种方式安装了应用,你都可以选择任意的方式去更新它,不必选择和安装时一样的方法,因为微软商店是应用包唯一来源

      • 启动微软商店
      • 点击左下角的库,查看到你目前已安装的全部应用
      • 点击界面右上角的获取更新,你的应用将会被更新

      若点击获取更新后胡桃仍然没有获取到更新,则可以进入Snap Hutao商店详情页面,等待信息加载完成来获取更新

      安装 WebView2 运行时

      WebView2 运行时由微软提供,其允许胡桃在程序内低开销地启用一个内置的浏览器。作为可选组件,WebView2 运行时不是强制组件,但安装后你会更容易地使用部分功能。

      微软官网的底部,你可以找到常青独立安装程序,选择x64下载并根据提示安装即可


      1. LTSC 和 LTSB 版本系统由于不包含微软商店,不在支持列表中。Windows 10 Build 19041 亦可以安装,但部分功能会因内核问题无法使用,故该版本下的胡桃工具箱问题将不会被处理 ↩︎

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/rss.xml b/zh/rss.xml index f7a9826ee..832c2dea1 100644 --- a/zh/rss.xml +++ b/zh/rss.xml @@ -6,8 +6,8 @@ https://hut.ao/zh/ 多功能的原神工具箱 zh-CN - Thu, 11 May 2023 10:49:14 GMT - Thu, 11 May 2023 10:49:14 GMT + Fri, 12 May 2023 12:15:15 GMT + Fri, 12 May 2023 12:15:15 GMT vuepress-plugin-feed2 https://validator.w3.org/feed/docs/rss2.html 功能 @@ -15,6 +15,17 @@ 公告 FAQ 第三方工具 + + 首页仪表盘 + https://hut.ao/zh/features/dashboard.html + https://hut.ao/zh/features/dashboard.html + 首页仪表盘 + 功能 + 教程 + Fri, 12 May 2023 12:14:08 GMT + 首页仪表盘 +]]> + 实时便笺 https://hut.ao/zh/features/real-time-notes.html @@ -827,6 +838,9 @@

      使用实时便笺时程序卡死或闪退

      当前一个本地数据库问题会造成胡桃工具箱卡顿,甚至闪退。这个问题计划在接下来的版本中修复,你也可以关注这个 GitHub Issue 来追踪进度。

      +

      游戏快速启动窗口失效

      +

      在当前版本中,一个已知问题会导致任务栏JumpList快速启动游戏功能失效,窗口无法打开。 +该问题会在下一版本修复。

      ]]>
      diff --git a/zh/side-load.html b/zh/side-load.html index 2b4566adf..6c70f4403 100644 --- a/zh/side-load.html +++ b/zh/side-load.html @@ -31,10 +31,10 @@ } - + -

      DGP-Studio小于 1 分钟

      侧载安装

      通用安装方式

      • 在系统设置中打开开发者设置界面,勾选 开发人员模式允许 PowerShell 脚本 (自行百度)
      • 解压已下载的压缩包,找到Install.ps1文件,右键选择使用PowerShell运行,按照提示允许 PowerShell 执行操作即可
      • 安装完毕,胡桃将出现在您的开始菜单

      小白级安装方式

      • 解压已下载的安装包
      • 运行 Snap.Hutao.Installer.exe
        • 该程序将执行上述通用安装方式的命令
      • 安装完毕,胡桃将出现在您的开始菜单

      升级胡桃工具箱

      • 解压你下载的最新版本压缩包
      • 重复 安装胡桃工具箱 的步骤
      • 若您安装失败或出现异常情况,可参考如下步骤
        • 先卸载已经安装的胡桃工具箱
        • 重复 安装胡桃工具箱 的步骤
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      DGP-Studio小于 1 分钟

      侧载安装

      通用安装方式

      • 在系统设置中打开开发者设置界面,勾选 开发人员模式允许 PowerShell 脚本 (自行百度)
      • 解压已下载的压缩包,找到Install.ps1文件,右键选择使用PowerShell运行,按照提示允许 PowerShell 执行操作即可
      • 安装完毕,胡桃将出现在您的开始菜单

      小白级安装方式

      • 解压已下载的安装包
      • 运行 Snap.Hutao.Installer.exe
        • 该程序将执行上述通用安装方式的命令
      • 安装完毕,胡桃将出现在您的开始菜单

      升级胡桃工具箱

      • 解压你下载的最新版本压缩包
      • 重复 安装胡桃工具箱 的步骤
      • 若您安装失败或出现异常情况,可参考如下步骤
        • 先卸载已经安装的胡桃工具箱
        • 重复 安装胡桃工具箱 的步骤
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/star-request.html b/zh/star-request.html index f00e2de81..2b622bcb9 100644 --- a/zh/star-request.html +++ b/zh/star-request.html @@ -31,10 +31,10 @@ } - + -

      DGP-Studio小于 1 分钟

      如果你认为胡桃工具箱是一个好的项目或者有帮助到你,你可以通过以下方式支持我们

      commit_activityhutao-last-commit

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      DGP-Studio小于 1 分钟

      如果你认为胡桃工具箱是一个好的项目或者有帮助到你,你可以通过以下方式支持我们

      commit_activityhutao-last-commit

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/statements/bug-report.html b/zh/statements/bug-report.html index 3bd5afb24..e0c957fcf 100644 --- a/zh/statements/bug-report.html +++ b/zh/statements/bug-report.html @@ -31,10 +31,10 @@ } - + -

      提交 BUG 报告

      DGP-Studio公告大约 2 分钟

      提交 BUG 报告

      opened-issueclosed-issue

      推荐方法

      • 在你使用 Snap Hutao 时如果发现了可复现或不可自行修复的问题,可以通过提交问题反馈来告知开发者。
      • 在提交问题时,您应当尽可能地详细描述问题。如果有错误的截图,也应该提供。这有利于问题排查并加速问题修复。
      • 如果你有能力在代码层面修复该问题,也欢迎您直接在对应的项目中发起 PR。 suggestion如果你是诚心希望解决问题,则应该在 Issue 中包含尽可能多的信息,比如说:你做了什么;看到了什么结果;程序有什么提示; 你查阅了哪篇文档;尝试了什么解决方案,结果是什么;你的设备 ID 是什么…… 当你愿意付出更多的时间在提供信息上,更大的可能获得一个准确的解决方案。 一两句话就结束的问题报告大多数不是有效的问题,只会被无视。

      客户端问题

      请求增加或更新文档

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      提交 BUG 报告

      DGP-Studio公告大约 2 分钟

      提交 BUG 报告

      opened-issueclosed-issue

      推荐方法

      • 在你使用 Snap Hutao 时如果发现了可复现或不可自行修复的问题,可以通过提交问题反馈来告知开发者。
      • 在提交问题时,您应当尽可能地详细描述问题。如果有错误的截图,也应该提供。这有利于问题排查并加速问题修复。
      • 如果你有能力在代码层面修复该问题,也欢迎您直接在对应的项目中发起 PR。 suggestion如果你是诚心希望解决问题,则应该在 Issue 中包含尽可能多的信息,比如说:你做了什么;看到了什么结果;程序有什么提示; 你查阅了哪篇文档;尝试了什么解决方案,结果是什么;你的设备 ID 是什么…… 当你愿意付出更多的时间在提供信息上,更大的可能获得一个准确的解决方案。 一两句话就结束的问题报告大多数不是有效的问题,只会被无视。

      客户端问题

      请求增加或更新文档

      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/statements/index.html b/zh/statements/index.html index 850d481eb..813844049 100644 --- a/zh/statements/index.html +++ b/zh/statements/index.html @@ -31,10 +31,10 @@ } - + - - + + diff --git a/zh/statements/privacy-notice.html b/zh/statements/privacy-notice.html index cbab51ae7..ca22f4298 100644 --- a/zh/statements/privacy-notice.html +++ b/zh/statements/privacy-notice.html @@ -31,10 +31,10 @@ } - + -

      用户数据和隐私权益

      DGP-Studio公告大约 1 分钟

      用户数据和隐私权益

      个人信息数据

      Snap Hutao 的项目性质决定了其不会收集任何个人信息数据

      常规数据使用

      胡桃工具箱充分尊重用户的隐私,目前我们会按下方的说明使用用户的数据:

      • 使用胡桃后,在 数据目录 中以数据库文件的形式

        • 储存
          • 米游社和 HoYoLab Cookie
          • 胡桃的软件设置信息
          • 全部的用户数据
      • 使用胡桃主程序时,胡桃会因开发和统计为目的匿名化地收集程序意外停止或出错时抛出的日志,包括:

        • 用户设备 ID
        • 错误与崩溃日志
        • 用户活跃数据统计信息
      • 使用 胡桃数据库 (深渊记录/深渊统计) 功能并选择上传数据时,

        • 向 胡桃 API 上传
          • 用户的游戏 UID
          • 用户的深境螺旋记录
          • 用户的角色信息及其装备的武器和圣遗物信息
      • 使用实时便笺功能后

        • 在 Windows 定时任务中创建一个用于获取数据的定时任务
      • 使用高级启动器中的服务器切换功能后,在胡桃数据目录中

        • 储存服务器转换所需要的文件
      • 使用胡桃帐号功能后,胡桃帐号云端系统会

        • 储存
          • 注册使用的邮箱
          • 加密后的密码
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      用户数据和隐私权益

      DGP-Studio公告大约 1 分钟

      用户数据和隐私权益

      个人信息数据

      Snap Hutao 的项目性质决定了其不会收集任何个人信息数据

      常规数据使用

      胡桃工具箱充分尊重用户的隐私,目前我们会按下方的说明使用用户的数据:

      • 使用胡桃后,在 数据目录 中以数据库文件的形式

        • 储存
          • 米游社和 HoYoLab Cookie
          • 胡桃的软件设置信息
          • 全部的用户数据
      • 使用胡桃主程序时,胡桃会因开发和统计为目的匿名化地收集程序意外停止或出错时抛出的日志,包括:

        • 用户设备 ID
        • 错误与崩溃日志
        • 用户活跃数据统计信息
      • 使用 胡桃数据库 (深渊记录/深渊统计) 功能并选择上传数据时,

        • 向 胡桃 API 上传
          • 用户的游戏 UID
          • 用户的深境螺旋记录
          • 用户的角色信息及其装备的武器和圣遗物信息
      • 使用实时便笺功能后

        • 在 Windows 定时任务中创建一个用于获取数据的定时任务
      • 使用高级启动器中的服务器切换功能后,在胡桃数据目录中

        • 储存服务器转换所需要的文件
      • 使用胡桃帐号功能后,胡桃帐号云端系统会

        • 储存
          • 注册使用的邮箱
          • 加密后的密码
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      + diff --git a/zh/statements/tos.html b/zh/statements/tos.html index be2fe4182..8f6b941a0 100644 --- a/zh/statements/tos.html +++ b/zh/statements/tos.html @@ -31,10 +31,10 @@ } - + -

      用户使用协议和法律声明

      DGP-Studio公告大约 10 分钟

      用户使用协议和法律声明

      总则

      • 本"用户使用协议和法律声明"(以下简称"条款"或"使用协议")适用于DGP-Studio 开发团队open in new window(以下简称"本团队"或"我方")开发的全部软件作品、各开发项目的官方网站、附属的自媒体账号等。
        • 请您仔细阅读本用户使用协议的全部内容,在您阅读"使用协议"后,若对此用户使用协议中的任何条款有异议,请立刻停止使用本团队所开发的任意项目。
        • 如您未满 18 周岁,请在法定监护人陪同下仔细阅读并充分理解本协议,并征得法定监护人的同意后使用本团队所开发的任意项目。
        • 若您已安装、使用或在开发时引用本团队所开发的任意项目,表示您已主动阅读(已阅读完毕)并完全同意本使用协议所列明的条款,即已充分理解本协议并承诺作为本协议的一方当事人接受协议、法律声明、隐私政策以及与本团队所开发的任意项目相关的规则、规范、声明、公告、通知等内容的约束。
        • 此《用户使用协议》是由用户(以下或称"您")与本团队所开发的任意项目所订立的用户使用协议和法律声明,本协议对用户和本团队均具有法律效力。

      项目性质、服务以及有关责任与义务的界定

      • 一、由于本团队所开发的任意项目,均"开源"、"非经营性质",故本团队可随时执行全权决定:包括但不限于更改"使用协议",修改本团队所开发的任意项目内的任何内容。如"条款"及"作品的内容"有任何变更,我方将在相关的项目展示网站上刊载公告作为通知。经修订的"条款"一经在官方网站上公布后,即自动生效。

      • 二、本软件以"学习开发知识"、"积累开发经验"为目的进行开发,所有项目所提供的功能,均"开源"、"非经营性质",如用户对本团队所开发的任意项目的安全性表示不满,请立即卸载/删除/停用,如您仍在正常使用,则表示您认可本团队所开发的任意项目的安全性。

      • 三、一切因使用本团队所开发的任意项目的内容而导致的"任何意外损失(包括但不限于:软件、硬件、财产以及虚拟物品等)"、"合约毁坏"、"诽谤"、"版权或知识产权侵犯"及其所造成的损失与责任,均为使用者自身对于网络公开的开源软件的使用过程中自身发生的使用行为所引致的"损失与责任",基于全部作品在其开放源代码的位置(即Githubopen in new window)中所声明的MIT licenseopen in new window以及本声明所约定的内容,应当认定前述的"损失与责任"与全部项目的有关开发者无责任关联。

      • 四、用户使用本团队所开发的任意项目期间,本团队不做任何不发生如下情况的保证:

        • 因网络状况、通讯线路等任何技术原因而导致用户不能正常使用或更新;
        • 因使用"第三方开发的本软件内插件"、"第三方进行二次编译的本软件的修改版"、"复用本开发团队所创作的项目代码而编译成的软件"造成负面结果。
      • 五、用户认可本团队所开发的任意项目,除被动接收软件或其他相关项目中的必要的上传报告或有关信息外,所有信息的上传均需要用户的主动触发;

        • 用户认可本团队所开发的任意项目,均完全尊重并保护所有用户的"个人隐私权",项目代码亦完全公开,用户不具有"因隐私权收到侵犯"而对开发团队或团队成员发起控诉的主观理由。
        • 本团队所开发的任意项目不会向第三方共享、转让您的个人信息,除非经过您本人事先授权同意,或者共享、转让的个人信息是去标识化处理后的信息,且共享第三方无法重新识别此类信息的自然人主体。
        • 本团队所开发的任意项目包含到其他站点的链接,当您访问第三方链接时,请认真阅读第三方站点的用户协议和声明,本团队对于第三方站点的内容、隐私条款、使用协议等不负任何责任。
        • 在使用本团队所开发的任意项目时,提交任意资料的过程中,本团队不保证提交的信息保存成功,您需要对您提交的资料做好存储保管。本团队所开发的部分项目为"被授权数据"提供存储,但在存储过程中存在各种不可抗力的因素,本团队无法承诺对用户的存储信息无限期保留,您的重要信息请自行备份。

      权利和义务

      • 六、我方允许任何单位或个人在没有本开发团队授权的情况下,对本团队所开发的任意项目进行的二次开发、功能修改以及复用我方创作的代码进行其他项目的开发,但对其所侵犯我方计算机软件著作权的行为,我方保留追责的权利。

        • 我开发团队不对任何单位或个人在使用本团队所开发的任意项目的内容进行的公开发布行为(包括但不限于制作视频、发布带有本软件内容的文章、上传至非我开发团队指定的下载网站提供下载等)的内容所致的任意结果进行负责。
        • 我开发团队不对使用"第三方开发的可用于本团队所开发的任意项目的附属程序或额外代码"、"第三方进行二次编译的本团队所开发的任意项目的修改版"、"复用本开发团队所创作的项目代码而编译成的软件"造成的任意结果负责。
        • 在此基础上,根据《计算机软件保护条例》第二条与第三条对于"计算机软件"和"文档"的法律定义,本软件开发团队(DGP Studio)保留全部我方开发项目的计算机软件著作权,其包括但不限于项目构建所需的全部信息、全部项目有关的所有文档资料(即用来描述程序的内容、组成、设计、功能规格、开发情况的程序设计说明书、流程图、用户手册等),具体内容以各项目《计算机软件著作权登记证书》的实际内容为准。
      • 七、本团队所开发的任意项目仅作用于合法、合规范围内的学习及研究所用,不得利用本软件系统从事违法活动。

        • 本团队仅作为项目的开发团队(非法人性质,为自然人组成的团体),对任何使用结果不负任何连带责任,软件以及我方开发的任意项目的使用过程中产生的任何法律后果我们概不负责、不承担任何法律责任。
        • 若用户已开始使用本团队所开发的任意项目,即已同意"使用协议",表明本团队已履行完毕"本使用协议第十款"的告知情形。
      • 八、所开发项目的著作权。

        • 本软件开发团队对所开发的"Snap.Genshin 软件"、"Snap.Hutao 软件"等作品的软件本身(不包括软件内除功能模块外的显示内容)、上述作品的全部历史版本以及周边网站,以及本团队所开发的任意其他作品,拥有软件内的"各商标的所有权"(引用于网络的图片除外),"著作权"等有关的应有权益。
        • 本团队所开发的任意项目的统计数据全部来源于软件用户主动提交,经过对数据简单地筛选后进行展示,因此本团队所开发的任意项目不对数据的准确性负责,该数据也与我方无关。
        • 使用本团队所开发的任意项目的过程中可能会产生拥有原有版权的数据,对于这些数据,本团队所开发的任意项目不拥有它们的所有权,为了避免造成侵权,使用者有义务完全阅读并履行"本使用协议第十条"的内容。本软件内使用的资源(包括但不限于字体、图片、文字等)均来源于互联网的公开信息,如果出现侵权可立即联系我方open in new window移除。

      其他条款

      • 九、对于团队所开发项目的"非经营性质"的确定。

        • 本团队所开发的任意项目,均无任何经营性质。

        • 若开发团队的个别或部分成员,在参与开发本团队所开发的任意项目期间,与本团队所开发的任意项目的第三方用户间产生了包括但不限于:赠与、交换、买卖等关系,其所产生的关系与本开发团队无关,此种情形的发生不基于团队开发有关项目这一事实,而是基于其与第三方用户,在发生上述关系的互联网交互位置或现实地点所产生的独立事件,应当以发生上述关系的互联网交互位置的用户使用条款或结合其在现实地点所发生的具体行为来判定此行为的性质。

      • 十、本团队所开发的任意项目(含网站),均以"学习开发知识"、"积累开发经验"为目的进行开发,仅供学习交流,严禁用于商业用途,请您在下载或进行查看学习后的 24 小时内自行删除全部相关信息,若您无视本条要求,本软件开发团队不对"可能产生的版权纠纷、著作权侵权以及民事纠纷等问题"负责。

      • 十一、本协议的成立、生效、履行、解释及争议的解决均应适用中华人民共和国大陆地区法律。倘本协议之任何规定因与中华人民共和国的法律抵触而无效,则这些条款将尽可能接近本协议原条文意旨重新解析,且本协议其它规定仍应具有完整的效力及效果。

      • 十二、本协议签订地点为辽宁省盘锦市辽河油田矿区,在履行本协议中发生纠纷,由双方协商解决,如协商不成,由辽河人民法院管辖,所产生的每阶段费用均由上诉人即时承担。

      • 十三、本协议中的标题(包括副标题)仅为方便及阅读而设,并不影响本协议中任何规定的含义或解释。

      • 十四、您和本开发团队均是独立的主体,在任何情况下本协议不构成本开发团队对用户的任何形式的明示或暗示担保或条件,双方之间亦不构成代理、合伙、合营或雇佣关系。

      • 十五、本"用户使用协议和法律声明"中,"我方"或称"本开发团队"(区别于"用户"或"您")的实际主体为DGP-Studio 开发团队open in new window的团队整体及每个成员个人,即包含前述网站中,DGP-Studio 开发团队open in new window的全部成员。

      上次编辑于:
      贡献者: Masterain,Mr.Hope
      - +

      用户使用协议和法律声明

      DGP-Studio公告大约 10 分钟

      用户使用协议和法律声明

      总则

      • 本"用户使用协议和法律声明"(以下简称"条款"或"使用协议")适用于DGP-Studio 开发团队open in new window(以下简称"本团队"或"我方")开发的全部软件作品、各开发项目的官方网站、附属的自媒体账号等。
        • 请您仔细阅读本用户使用协议的全部内容,在您阅读"使用协议"后,若对此用户使用协议中的任何条款有异议,请立刻停止使用本团队所开发的任意项目。
        • 如您未满 18 周岁,请在法定监护人陪同下仔细阅读并充分理解本协议,并征得法定监护人的同意后使用本团队所开发的任意项目。
        • 若您已安装、使用或在开发时引用本团队所开发的任意项目,表示您已主动阅读(已阅读完毕)并完全同意本使用协议所列明的条款,即已充分理解本协议并承诺作为本协议的一方当事人接受协议、法律声明、隐私政策以及与本团队所开发的任意项目相关的规则、规范、声明、公告、通知等内容的约束。
        • 此《用户使用协议》是由用户(以下或称"您")与本团队所开发的任意项目所订立的用户使用协议和法律声明,本协议对用户和本团队均具有法律效力。

      项目性质、服务以及有关责任与义务的界定

      • 一、由于本团队所开发的任意项目,均"开源"、"非经营性质",故本团队可随时执行全权决定:包括但不限于更改"使用协议",修改本团队所开发的任意项目内的任何内容。如"条款"及"作品的内容"有任何变更,我方将在相关的项目展示网站上刊载公告作为通知。经修订的"条款"一经在官方网站上公布后,即自动生效。

      • 二、本软件以"学习开发知识"、"积累开发经验"为目的进行开发,所有项目所提供的功能,均"开源"、"非经营性质",如用户对本团队所开发的任意项目的安全性表示不满,请立即卸载/删除/停用,如您仍在正常使用,则表示您认可本团队所开发的任意项目的安全性。

      • 三、一切因使用本团队所开发的任意项目的内容而导致的"任何意外损失(包括但不限于:软件、硬件、财产以及虚拟物品等)"、"合约毁坏"、"诽谤"、"版权或知识产权侵犯"及其所造成的损失与责任,均为使用者自身对于网络公开的开源软件的使用过程中自身发生的使用行为所引致的"损失与责任",基于全部作品在其开放源代码的位置(即Githubopen in new window)中所声明的MIT licenseopen in new window以及本声明所约定的内容,应当认定前述的"损失与责任"与全部项目的有关开发者无责任关联。

      • 四、用户使用本团队所开发的任意项目期间,本团队不做任何不发生如下情况的保证:

        • 因网络状况、通讯线路等任何技术原因而导致用户不能正常使用或更新;
        • 因使用"第三方开发的本软件内插件"、"第三方进行二次编译的本软件的修改版"、"复用本开发团队所创作的项目代码而编译成的软件"造成负面结果。
      • 五、用户认可本团队所开发的任意项目,除被动接收软件或其他相关项目中的必要的上传报告或有关信息外,所有信息的上传均需要用户的主动触发;

        • 用户认可本团队所开发的任意项目,均完全尊重并保护所有用户的"个人隐私权",项目代码亦完全公开,用户不具有"因隐私权收到侵犯"而对开发团队或团队成员发起控诉的主观理由。
        • 本团队所开发的任意项目不会向第三方共享、转让您的个人信息,除非经过您本人事先授权同意,或者共享、转让的个人信息是去标识化处理后的信息,且共享第三方无法重新识别此类信息的自然人主体。
        • 本团队所开发的任意项目包含到其他站点的链接,当您访问第三方链接时,请认真阅读第三方站点的用户协议和声明,本团队对于第三方站点的内容、隐私条款、使用协议等不负任何责任。
        • 在使用本团队所开发的任意项目时,提交任意资料的过程中,本团队不保证提交的信息保存成功,您需要对您提交的资料做好存储保管。本团队所开发的部分项目为"被授权数据"提供存储,但在存储过程中存在各种不可抗力的因素,本团队无法承诺对用户的存储信息无限期保留,您的重要信息请自行备份。

      权利和义务

      • 六、我方允许任何单位或个人在没有本开发团队授权的情况下,对本团队所开发的任意项目进行的二次开发、功能修改以及复用我方创作的代码进行其他项目的开发,但对其所侵犯我方计算机软件著作权的行为,我方保留追责的权利。

        • 我开发团队不对任何单位或个人在使用本团队所开发的任意项目的内容进行的公开发布行为(包括但不限于制作视频、发布带有本软件内容的文章、上传至非我开发团队指定的下载网站提供下载等)的内容所致的任意结果进行负责。
        • 我开发团队不对使用"第三方开发的可用于本团队所开发的任意项目的附属程序或额外代码"、"第三方进行二次编译的本团队所开发的任意项目的修改版"、"复用本开发团队所创作的项目代码而编译成的软件"造成的任意结果负责。
        • 在此基础上,根据《计算机软件保护条例》第二条与第三条对于"计算机软件"和"文档"的法律定义,本软件开发团队(DGP Studio)保留全部我方开发项目的计算机软件著作权,其包括但不限于项目构建所需的全部信息、全部项目有关的所有文档资料(即用来描述程序的内容、组成、设计、功能规格、开发情况的程序设计说明书、流程图、用户手册等),具体内容以各项目《计算机软件著作权登记证书》的实际内容为准。
      • 七、本团队所开发的任意项目仅作用于合法、合规范围内的学习及研究所用,不得利用本软件系统从事违法活动。

        • 本团队仅作为项目的开发团队(非法人性质,为自然人组成的团体),对任何使用结果不负任何连带责任,软件以及我方开发的任意项目的使用过程中产生的任何法律后果我们概不负责、不承担任何法律责任。
        • 若用户已开始使用本团队所开发的任意项目,即已同意"使用协议",表明本团队已履行完毕"本使用协议第十款"的告知情形。
      • 八、所开发项目的著作权。

        • 本软件开发团队对所开发的"Snap.Genshin 软件"、"Snap.Hutao 软件"等作品的软件本身(不包括软件内除功能模块外的显示内容)、上述作品的全部历史版本以及周边网站,以及本团队所开发的任意其他作品,拥有软件内的"各商标的所有权"(引用于网络的图片除外),"著作权"等有关的应有权益。
        • 本团队所开发的任意项目的统计数据全部来源于软件用户主动提交,经过对数据简单地筛选后进行展示,因此本团队所开发的任意项目不对数据的准确性负责,该数据也与我方无关。
        • 使用本团队所开发的任意项目的过程中可能会产生拥有原有版权的数据,对于这些数据,本团队所开发的任意项目不拥有它们的所有权,为了避免造成侵权,使用者有义务完全阅读并履行"本使用协议第十条"的内容。本软件内使用的资源(包括但不限于字体、图片、文字等)均来源于互联网的公开信息,如果出现侵权可立即联系我方open in new window移除。

      其他条款

      • 九、对于团队所开发项目的"非经营性质"的确定。

        • 本团队所开发的任意项目,均无任何经营性质。

        • 若开发团队的个别或部分成员,在参与开发本团队所开发的任意项目期间,与本团队所开发的任意项目的第三方用户间产生了包括但不限于:赠与、交换、买卖等关系,其所产生的关系与本开发团队无关,此种情形的发生不基于团队开发有关项目这一事实,而是基于其与第三方用户,在发生上述关系的互联网交互位置或现实地点所产生的独立事件,应当以发生上述关系的互联网交互位置的用户使用条款或结合其在现实地点所发生的具体行为来判定此行为的性质。

      • 十、本团队所开发的任意项目(含网站),均以"学习开发知识"、"积累开发经验"为目的进行开发,仅供学习交流,严禁用于商业用途,请您在下载或进行查看学习后的 24 小时内自行删除全部相关信息,若您无视本条要求,本软件开发团队不对"可能产生的版权纠纷、著作权侵权以及民事纠纷等问题"负责。

      • 十一、本协议的成立、生效、履行、解释及争议的解决均应适用中华人民共和国大陆地区法律。倘本协议之任何规定因与中华人民共和国的法律抵触而无效,则这些条款将尽可能接近本协议原条文意旨重新解析,且本协议其它规定仍应具有完整的效力及效果。

      • 十二、本协议签订地点为辽宁省盘锦市辽河油田矿区,在履行本协议中发生纠纷,由双方协商解决,如协商不成,由辽河人民法院管辖,所产生的每阶段费用均由上诉人即时承担。

      • 十三、本协议中的标题(包括副标题)仅为方便及阅读而设,并不影响本协议中任何规定的含义或解释。

      • 十四、您和本开发团队均是独立的主体,在任何情况下本协议不构成本开发团队对用户的任何形式的明示或暗示担保或条件,双方之间亦不构成代理、合伙、合营或雇佣关系。

      • 十五、本"用户使用协议和法律声明"中,"我方"或称"本开发团队"(区别于"用户"或"您")的实际主体为DGP-Studio 开发团队open in new window的团队整体及每个成员个人,即包含前述网站中,DGP-Studio 开发团队open in new window的全部成员。

      上次编辑于:
      贡献者: Masterain,Mr.Hope
      + diff --git a/zh/statements/update-log.html b/zh/statements/update-log.html index ad86adb02..205b8d0c4 100644 --- a/zh/statements/update-log.html +++ b/zh/statements/update-log.html @@ -31,10 +31,10 @@ } - + -

      更新日志

      DGP-Studio公告大约 3 分钟

      更新日志

      1.6.3 最新版

      • 新增
        • 首页仪表盘,包含胡桃云帐号、游戏启动器、祈愿记录、成就统计和实时便笺
        • 启用新的信息栏功能将自动隐藏应用内通知
        • 隐藏国服 TapTap 帐号登录的服务器版本
      • 修复
        • 上传深境螺旋数据后无法获得胡桃云奖励的问题
        • HoYoLab 不支持 Facebook 登录的问题
        • HoYoLab 签到问题
        • 获取抽卡记录过程中值为空时会产生的问题
      • 优化
        • 项目重构,软件性能提高20%
        • 增加支持 WIKI 功能中的本地化翻译
        • 增加支持国际服支付渠道切换
          • 包括 HoYoverse 默认,Epic 和 Google Pay
        • 开启帧率解锁后,可以在游戏启动时修改帧率上限并立即生效

      1.6.2

      • 全新功能
        • 基于胡桃帐号系统的祈愿记录云同步
          • 当前在爱发电打赏用户和测试用户会获得对应时间的云同步权限,已注册用户在上传深渊记录后会获赠 5 天云同步有效期
          • 该功能会在接下来的数个 1.6 版本中持续优化
      • 修复
        • 渠道服帐号的实时便笺无法获取数据的问题
        • HoYoLab 帐号的登录问题
      • 优化
        • 重新设计了静态文件获取的流程

      1.6.0

      • 新增
        • 胡桃帐号的注册和登录的基本功能
        • HoYoLab 帐号的登录并增加其在以下功能的支持
          • 网页登录和 SToken Cookie 登录
          • 深境螺旋记录
          • 每日签到
          • 我的角色
          • 实时便笺
      • 优化
        • 帧数解锁功能性能
        • 多客户端功能
        • 帧数解锁和游戏多开功能现在需要用户在设置中手动解锁高级功能
        • 设置页面布局
        • Windows 10 磁贴图标

      1.5.4

      • 新增
        • 游戏启动器
          • 游戏资源下载
          • 原神游戏进程多开
          • 允许用户在多显示器情况下选择指定显示器启动游戏
        • 使用了全新的图标(更可爱的胡桃)
      • 修复
        • 游戏客户端转换中卡死并无限写入的问题
      • 优化
        • 默认的语言选择方式
        • 允许直接复制设备 ID
        • 设置页面美化

      1.5.1

      • 优化
        • JumpList菜单更换为JumpTask,即使用户关闭最近文件功能也可以使用快速启动菜单了
        • 增加优先度高于系统设置的语言设置选项
        • 增加贡献翻译入口
        • 增加重置图片资源的设置选项
      • 添加
        • 怪物 WIKI
        • 韩语翻译
        • 国际化元数据

      1.4.15

      • 新增
        • 重置图片资源的入口
        • 刷新 Cookie 方法
      • 修复
      • 优化
        • 优化了养成计划界面 #486open in new window
        • 完善英语和繁体中文翻译
        • 在触发 Windows 长路径限制时增加提示
        • 优化了定时任务的唤醒方式

      1.4.14

      • 修复了养成计划无法添加的问题
      • 支持英语界面
      • 其他的问题修复

      1.4.11

      • 商店初版
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      - +

      更新日志

      DGP-Studio公告大约 3 分钟

      更新日志

      1.6.3 最新版

      • 新增
        • 首页仪表盘,包含胡桃云帐号、游戏启动器、祈愿记录、成就统计和实时便笺
        • 启用新的信息栏功能将自动隐藏应用内通知
        • 隐藏国服 TapTap 帐号登录的服务器版本
      • 修复
        • 上传深境螺旋数据后无法获得胡桃云奖励的问题
        • HoYoLab 不支持 Facebook 登录的问题
        • HoYoLab 签到问题
        • 获取抽卡记录过程中值为空时会产生的问题
      • 优化
        • 项目重构,软件性能提高20%
        • 增加支持 WIKI 功能中的本地化翻译
        • 增加支持国际服支付渠道切换
          • 包括 HoYoverse 默认,Epic 和 Google Pay
        • 开启帧率解锁后,可以在游戏启动时修改帧率上限并立即生效

      1.6.2

      • 全新功能
        • 基于胡桃帐号系统的祈愿记录云同步
          • 当前在爱发电打赏用户和测试用户会获得对应时间的云同步权限,已注册用户在上传深渊记录后会获赠 5 天云同步有效期
          • 该功能会在接下来的数个 1.6 版本中持续优化
      • 修复
        • 渠道服帐号的实时便笺无法获取数据的问题
        • HoYoLab 帐号的登录问题
      • 优化
        • 重新设计了静态文件获取的流程

      1.6.0

      • 新增
        • 胡桃帐号的注册和登录的基本功能
        • HoYoLab 帐号的登录并增加其在以下功能的支持
          • 网页登录和 SToken Cookie 登录
          • 深境螺旋记录
          • 每日签到
          • 我的角色
          • 实时便笺
      • 优化
        • 帧数解锁功能性能
        • 多客户端功能
        • 帧数解锁和游戏多开功能现在需要用户在设置中手动解锁高级功能
        • 设置页面布局
        • Windows 10 磁贴图标

      1.5.4

      • 新增
        • 游戏启动器
          • 游戏资源下载
          • 原神游戏进程多开
          • 允许用户在多显示器情况下选择指定显示器启动游戏
        • 使用了全新的图标(更可爱的胡桃)
      • 修复
        • 游戏客户端转换中卡死并无限写入的问题
      • 优化
        • 默认的语言选择方式
        • 允许直接复制设备 ID
        • 设置页面美化

      1.5.1

      • 优化
        • JumpList菜单更换为JumpTask,即使用户关闭最近文件功能也可以使用快速启动菜单了
        • 增加优先度高于系统设置的语言设置选项
        • 增加贡献翻译入口
        • 增加重置图片资源的设置选项
      • 添加
        • 怪物 WIKI
        • 韩语翻译
        • 国际化元数据

      1.4.15

      • 新增
        • 重置图片资源的入口
        • 刷新 Cookie 方法
      • 修复
      • 优化
        • 优化了养成计划界面 #486open in new window
        • 完善英语和繁体中文翻译
        • 在触发 Windows 长路径限制时增加提示
        • 优化了定时任务的唤醒方式

      1.4.14

      • 修复了养成计划无法添加的问题
      • 支持英语界面
      • 其他的问题修复

      1.4.11

      • 商店初版
      评论
      • 按正序
      • 按倒序
      • 按热度
      Powered by Waline v2.15.2
      +