1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.jd5cmRMR.js","assets/chunks/framework.jQDE8ktZ.js"])))=>i.map(i=>d[i]); 2var wi=Object.defineProperty;var Si=(e,t,n)=>t in e?wi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var I=(e,t,n)=>Si(e,typeof t!="symbol"?t+"":t,n);import{d as b,c as f,r as d,n as N,o as c,a as de,t as $,b as S,w as g,T as pn,e as v,_ as E,u as yr,i as ki,f as Ei,g as hn,h as L,j as m,k as u,l as fe,m as Jt,p as P,q as Q,s as lt,v as te,x as vn,y as yn,z as Li,A as _i,F as M,B as D,C as ge,D as ut,E as w,G as br,H as K,I as wr,J as dt,K as se,L as ft,M as Ti,N as Sr,O as qt,P as kr,Q as Er,R as mt,S as Ai,U as Pi,V as Ri,W as Lr,X as bn,Y as Ni,Z as $i,$ as Ii,a0 as Vi,a1 as Mi,a2 as Oi}from"./framework.jQDE8ktZ.js";const Ci=b({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(c(),f("span",{class:N(["VPBadge",e.type])},[d(t.$slots,"default",{},()=>[de($(e.text),1)])],2))}}),ji={key:0,class:"VPBackdrop"},xi=b({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(c(),S(pn,{name:"fade"},{default:g(()=>[e.show?(c(),f("div",ji)):v("",!0)]),_:1}))}}),Di=E(xi,[["__scopeId","data-v-c79a1216"]]),T=yr;function Hi(e,t){let n,a=!1;return()=>{n&&clearTimeout(n),a?n=setTimeout(e,t):(e(),(a=!0)&&setTimeout(()=>a=!1,t))}}function Xt(e){return e.startsWith("/")?e:`/${e}`}function wn(e){const{pathname:t,search:n,hash:a,protocol:r}=new URL(e,"http://a.com");if(ki(e)||e.startsWith("#")||!r.startsWith("http")||!Ei(t))return e;const{site:o}=T(),i=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,o.value.cleanUrls?"":".html")}${n}${a}`);return hn(i)}function xe({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:a,theme:r,hash:o}=T(),i=L(()=>{var l,p;return{label:(l=t.value.locales[n.value])==null?void 0:l.label,link:((p=t.value.locales[n.value])==null?void 0:p.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:L(()=>Object.entries(t.value.locales).flatMap(([l,p])=>i.value.label===p.label?[]:{text:p.label,link:Bi(p.link||(l==="root"?"/":`/${l}/`),r.value.i18nRouting!==!1&&e,a.value.relativePath.slice(i.value.link.length-1),!t.value.cleanUrls)+o.value})),currentLang:i}}function Bi(e,t,n,a){return t?e.replace(/\/$/,"")+Xt(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):e}const Gi={class:"NotFound"},zi={class:"code"},Fi={class:"title"},Ui={class:"quote"},Wi={class:"action"},Ki=["href","aria-label"],Yi=b({__name:"NotFound",setup(e){const{theme:t}=T(),{currentLang:n}=xe();return(a,r)=>{var o,i,s,l,p;return c(),f("div",Gi,[m("p",zi,$(((o=u(t).notFound)==null?void 0:o.code)??"404"),1),m("h1",Fi,$(((i=u(t).notFound)==null?void 0:i.title)??"PAGE NOT FOUND"),1),r[0]||(r[0]=m("div",{class:"divider"},null,-1)),m("blockquote",Ui,$(((s=u(t).notFound)==null?void 0:s.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),m("div",Wi,[m("a",{class:"link",href:u(hn)(u(n).link),"aria-label":((l=u(t).notFound)==null?void 0:l.linkLabel)??"go to home"},$(((p=u(t).notFound)==null?void 0:p.linkText)??"Take me home"),9,Ki)])])}}}),Ji=E(Yi,[["__scopeId","data-v-d6be1790"]]);function _r(e,t){if(Array.isArray(e))return Ge(e);if(e==null)return[];t=Xt(t);const n=Object.keys(e).sort((r,o)=>o.split("/").length-r.split("/").length).find(r=>t.startsWith(Xt(r))),a=n?e[n]:[];return Array.isArray(a)?Ge(a):Ge(a.items,a.base)}function qi(e){const t=[];let n=0;for(const a in e){const r=e[a];if(r.items){n=t.push(r);continue}t[n]||t.push({items:[]}),t[n].items.push(r)}return t}function Xi(e){const t=[];function n(a){for(const r of a)r.text&&r.link&&t.push({text:r.text,link:r.link,docFooterText:r.docFooterText}),r.items&&n(r.items)}return n(e),t}function Qt(e,t){return Array.isArray(t)?t.some(n=>Qt(e,n)):fe(e,t.link)?!0:t.items?Qt(e,t.items):!1}function Ge(e,t){return[...e].map(n=>{const a={...n},r=a.base||t;return r&&a.link&&(a.link=r+a.link),a.items&&(a.items=Ge(a.items,r)),a})}function ne(){const{frontmatter:e,page:t,theme:n}=T(),a=Jt("(min-width: 960px)"),r=P(!1),o=L(()=>{const V=n.value.sidebar,j=t.value.relativePath;return V?_r(V,j):[]}),i=P(o.value);Q(o,(V,j)=>{JSON.stringify(V)!==JSON.stringify(j)&&(i.value=o.value)});const s=L(()=>e.value.sidebar!==!1&&i.value.length>0&&e.value.layout!=="home"),l=L(()=>p?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),p=L(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),k=L(()=>s.value&&a.value),h=L(()=>s.value?qi(i.value):[]);function y(){r.value=!0}function _(){r.value=!1}function R(){r.value?_():y()}return{isOpen:r,sidebar:i,sidebarGroups:h,hasSidebar:s,hasAside:p,leftAside:l,isSidebarEnabled:k,open:y,close:_,toggle:R}}function Qi(e,t){let n;lt(()=>{n=e.value?document.activeElement:void 0}),te(()=>{window.addEventListener("keyup",a)}),vn(()=>{window.removeEventListener("keyup",a)});function a(r){r.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Zi(e){const{page:t,hash:n}=T(),a=P(!1),r=L(()=>e.value.collapsed!=null),o=L(()=>!!e.value.link),i=P(!1),s=()=>{i.value=fe(t.value.relativePath,e.value.link)};Q([t,e,n],s),te(s);const l=L(()=>i.value?!0:e.value.items?Qt(t.value.relativePath,e.value.items):!1),p=L(()=>!!(e.value.items&&e.value.items.length));lt(()=>{a.value=!!(r.value&&e.value.collapsed)}),yn(()=>{(i.value||l.value)&&(a.value=!1)});
2function k(){r.value&&(a.value=!a.value)}return{collapsed:a,collapsible:r,isLink:o,isActiveLink:i,hasActiveLink:l,hasChildren:p,toggle:k}}function es(){const{hasSidebar:e}=ne(),t=Jt("(min-width: 960px)"),n=Jt("(min-width: 1280px)");return{isAsideEnabled:L(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const ts=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,Zt=[];function Tr(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Sn(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const a=Number(n.tagName[1]);return{element:n,title:ns(n),link:"#"+n.id,level:a}});return as(t,e)}function ns(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(ts.test(n.className))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function as(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[a,r]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;return is(e,a,r)}function rs(e,t){const{isAsideEnabled:n}=es(),a=Hi(o,100);let r=null;te(()=>{requestAnimationFrame(o),window.addEventListener("scroll",a)}),Li(()=>{i(location.hash)}),vn(()=>{window.removeEventListener("scroll",a)});function o(){if(!n.value)return;const s=window.scrollY,l=window.innerHeight,p=document.body.offsetHeight,k=Math.abs(s+l-p)<1,h=Zt.map(({element:_,link:R})=>({link:R,top:os(_)})).filter(({top:_})=>!Number.isNaN(_)).sort((_,R)=>_.top-R.top);if(!h.length){i(null);return}if(s<1){i(null);return}if(k){i(h[h.length-1].link);return}let y=null;for(const{link:_,top:R}of h){if(R>s+_i()+4)break;y=_}i(y)}function i(s){r&&r.classList.remove("active"),s==null?r=null:r=e.value.querySelector(`a[href="${decodeURIComponent(s)}"]`);const l=r;l?(l.classList.add("active"),t.value.style.top=l.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function os(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}function is(e,t,n){Zt.length=0;const a=[],r=[];return e.forEach(o=>{const i={...o,children:[]};let s=r[r.length-1];for(;s&&s.level>=i.level;)r.pop(),s=r[r.length-1];if(i.element.classList.contains("ignore-header")||s&&"shouldIgnore"in s){r.push({level:i.level,shouldIgnore:!0});return}i.level>n||i.level<t||(Zt.push({element:i.element,link:i.link}),s?s.children.push(i):a.push(i),r.push(i))}),a}const ss=["href","title"],cs=b({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const a=n.href.split("#")[1],r=document.getElementById(decodeURIComponent(a));r==null||r.focus({preventScroll:!0})}return(n,a)=>{const r=ge("VPDocOutlineItem",!0);return c(),f("ul",{class:N(["VPDocOutlineItem",e.root?"root":"nested"])},[(c(!0),f(M,null,D(e.headers,({children:o,link:i,title:s})=>(c(),f("li",null,[m("a",{class:"outline-link",href:i,onClick:t,title:s},$(s),9,ss),o!=null&&o.length?(c(),S(r,{key:0,headers:o},null,8,["headers"])):v("",!0)]))),256))],2)}}}),Ar=E(cs,[["__scopeId","data-v-b933a997"]]),ls={class:"content"},us={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},ds=b({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=T(),a=br([]);ut(()=>{a.value=Sn(t.value.outline??n.value.outline)});const r=P(),o=P();return rs(r,o),(i,s)=>(c(),f("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:r},[m("div",ls,[m("div",{class:"outline-marker",ref_key:"marker",ref:o},null,512),m("div",us,$(u(Tr)(u(n))),1),w(Ar,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),fs=E(ds,[["__scopeId","data-v-a5bbad30"]]),ms={class:"VPDocAsideCarbonAds"},gs=b({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,a)=>(c(),f("div",ms,[w(u(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),ps={class:"VPDocAside"},hs=b({__name:"VPDocAside",setup(e){const{theme:t}=T();return(n,a)=>(c(),f("div",ps,[d(n.$slots,"aside-top",{},void 0,!0),d(n.$slots,"aside-outline-before",{},void 0,!0),w(fs),d(n.$slots,"aside-outline-after",{},void 0,!0),a[0]||(a[0]=m("div",{class:"spacer"},null,-1)),d(n.$slots,"aside-ads-before",{},void 0,!0),u(t).carbonAds?(c(),S(gs,{key:0,"carbon-ads":u(t).carbonAds},null,8,["carbon-ads"])):v("",!0),d(n.$slots,"aside-ads-after",{},void 0,!0),d(n.$slots,"aside-bottom",{},void 0,!0)]))}}),vs=E(hs,[["__scopeId","data-v-3f215769"]]);function ys(){const{theme:e,page:t}=T();return L(()=>{const{text:n="Edit this page",pattern:a=""}=e.value.editLink||{};let r;return typeof a=="function"?r=a(t.value):r=a.replace(/:path/g,t.value.filePath),{url:r,text:n}})}function bs(){const{page:e,theme:t,frontmatter:n}=T();return L(()=>{var p,k,h,y,_,R,V,j;const a=_r(t.value.sidebar,e.value.relativePath),r=Xi(a),o=ws(r,G=>G.link.replace(/[?#].*$/,"")),i=o.findIndex(G=>fe(e.value.relativePath,G.link)),s=((p=t.value.docFooter)==null?void 0:p.prev)===!1&&!n.value.prev||n.value.prev===!1,l=((k=t.value.docFooter)==null?void 0:k.next)===!1&&!n.value.next||n.value.next===!1;return{prev:s?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((h=o[i-1])==null?void 0:h.docFooterText)??((y=o[i-1])==null?void 0:y.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((_
2=o[i-1])==null?void 0:_.link)},next:l?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((R=o[i+1])==null?void 0:R.docFooterText)??((V=o[i+1])==null?void 0:V.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((j=o[i+1])==null?void 0:j.link)}}})}function ws(e,t){const n=new Set;return e.filter(a=>{const r=t(a);return n.has(r)?!1:n.add(r)})}const Y=b({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=L(()=>t.tag??(t.href?"a":"span")),a=L(()=>t.href&&wr.test(t.href)||t.target==="_blank");return(r,o)=>(c(),S(K(n.value),{class:N(["VPLink",{link:e.href,"vp-external-link-icon":a.value,"no-icon":e.noIcon}]),href:e.href?u(wn)(e.href):void 0,target:e.target??(a.value?"_blank":void 0),rel:e.rel??(a.value?"noreferrer":void 0)},{default:g(()=>[d(r.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ss={class:"VPLastUpdated"},ks=["datetime"],Es=b({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:a}=T(),r=L(()=>new Date(n.value.lastUpdated)),o=L(()=>r.value.toISOString()),i=P("");return te(()=>{lt(()=>{var s,l,p;i.value=new Intl.DateTimeFormat((l=(s=t.value.lastUpdated)==null?void 0:s.formatOptions)!=null&&l.forceLocale?a.value:void 0,((p=t.value.lastUpdated)==null?void 0:p.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(s,l)=>{var p;return c(),f("p",Ss,[de($(((p=u(t).lastUpdated)==null?void 0:p.text)||u(t).lastUpdatedText||"Last updated")+": ",1),m("time",{datetime:o.value},$(i.value),9,ks)])}}}),Ls=E(Es,[["__scopeId","data-v-e98dd255"]]),_s={key:0,class:"VPDocFooter"},Ts={key:0,class:"edit-info"},As={key:0,class:"edit-link"},Ps={key:1,class:"last-updated"},Rs={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ns={class:"pager"},$s=["innerHTML"],Is=["innerHTML"],Vs={class:"pager"},Ms=["innerHTML"],Os=["innerHTML"],Cs=b({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:a}=T(),r=ys(),o=bs(),i=L(()=>t.value.editLink&&a.value.editLink!==!1),s=L(()=>n.value.lastUpdated),l=L(()=>i.value||s.value||o.value.prev||o.value.next);return(p,k)=>{var h,y,_,R;return l.value?(c(),f("footer",_s,[d(p.$slots,"doc-footer-before",{},void 0,!0),i.value||s.value?(c(),f("div",Ts,[i.value?(c(),f("div",As,[w(Y,{class:"edit-link-button",href:u(r).url,"no-icon":!0},{default:g(()=>[k[0]||(k[0]=m("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),de(" "+$(u(r).text),1)]),_:1},8,["href"])])):v("",!0),s.value?(c(),f("div",Ps,[w(Ls)])):v("",!0)])):v("",!0),(h=u(o).prev)!=null&&h.link||(y=u(o).next)!=null&&y.link?(c(),f("nav",Rs,[k[1]||(k[1]=m("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),m("div",Ns,[(_=u(o).prev)!=null&&_.link?(c(),S(Y,{key:0,class:"pager-link prev",href:u(o).prev.link},{default:g(()=>{var V;return[m("span",{class:"desc",innerHTML:((V=u(t).docFooter)==null?void 0:V.prev)||"Previous page"},null,8,$s),m("span",{class:"title",innerHTML:u(o).prev.text},null,8,Is)]}),_:1},8,["href"])):v("",!0)]),m("div",Vs,[(R=u(o).next)!=null&&R.link?(c(),S(Y,{key:0,class:"pager-link next",href:u(o).next.link},{default:g(()=>{var V;return[m("span",{class:"desc",innerHTML:((V=u(t).docFooter)==null?void 0:V.next)||"Next page"},null,8,Ms),m("span",{class:"title",innerHTML:u(o).next.text},null,8,Os)]}),_:1},8,["href"])):v("",!0)])])):v("",!0)])):v("",!0)}}}),js=E(Cs,[["__scopeId","data-v-e257564d"]]),xs={class:"container"},Ds={class:"aside-container"},Hs={class:"aside-content"},Bs={class:"content"},Gs={class:"content-container"},zs={class:"main"},Fs=b({__name:"VPDoc",setup(e){const{theme:t}=T(),n=dt(),{hasSidebar:a,hasAside:r,leftAside:o}=ne(),i=L(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(s,l)=>{const p=ge("Content");return c(),f("div",{class:N(["VPDoc",{"has-sidebar":u(a),"has-aside":u(r)}])},[d(s.$slots,"doc-top",{},void 0,!0),m("div",xs,[u(r)?(c(),f("div",{key:0,class:N(["aside",{"left-aside":u(o)}])},[l[0]||(l[0]=m("div",{class:"aside-curtain"},null,-1)),m("div",Ds,[m("div",Hs,[w(vs,null,{"aside-top":g(()=>[d(s.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":g(()=>[d(s.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":g(()=>[d(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":g(()=>[d(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":g(()=>[d(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":g(()=>[d(s.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):v("",!0),m("div",Bs,[m("div",Gs,[d(s.$slots,"doc-before",{},void 0,!0),m("main",zs,[w(p,{class:N(["vp-doc",[i.value,u(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),w(js,null,{"doc-footer-before":g(()=>[d(s.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(s.$slots,"doc-after",{},void 0,!0)])])]),d(s.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Us=E(Fs,[["__scopeId","data-v-39a288b8"]]),Ws=b({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=L(()=>t.href&&wr.test(t.href)),a=L(()=>t.tag||(t.href?"a":"button"));return(r,o)=>(c(),S(K(a.value),{class:N(["VPButton",[e.size,e.theme]]),href:e.href?u(wn)(e.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:g(()=>[de($(e.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ks=E(Ws,[["__scopeId","data-v-fa7799d5"]]),Ys=["src","alt"],Js=b({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const a=ge("VPImage",!0);return e.image?(c(),f(M,{key:0},[typeof e.image=="string"||"src"in e.image?(c(),f("img",se({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:u(hn)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Ys)):(c(),f(M,{key:1},[w(a,se({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),w(a,se({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):v("",!0)}}}),Je=E(Js,[["__scopeId","data-v-8426fc1a"]]),qs={class:"container"},Xs={class:"main"},Qs={class:"heading"},Zs=["innerHTML"],ec=["innerHTML"],tc=["innerHTML"],nc={key:0,class:"actions"},ac={key:0,class:"image"},rc={class:"image-container"},oc=b({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ft("hero-image-slot-exists");return(n,a)=>(c(),f("div",{class:N(["VPHero",{"has-image":e.image||u(t)}])}
2,[m("div",qs,[m("div",Xs,[d(n.$slots,"home-hero-info-before",{},void 0,!0),d(n.$slots,"home-hero-info",{},()=>[m("h1",Qs,[e.name?(c(),f("span",{key:0,innerHTML:e.name,class:"name clip"},null,8,Zs)):v("",!0),e.text?(c(),f("span",{key:1,innerHTML:e.text,class:"text"},null,8,ec)):v("",!0)]),e.tagline?(c(),f("p",{key:0,innerHTML:e.tagline,class:"tagline"},null,8,tc)):v("",!0)],!0),d(n.$slots,"home-hero-info-after",{},void 0,!0),e.actions?(c(),f("div",nc,[(c(!0),f(M,null,D(e.actions,r=>(c(),f("div",{key:r.link,class:"action"},[w(Ks,{tag:"a",size:"medium",theme:r.theme,text:r.text,href:r.link,target:r.target,rel:r.rel},null,8,["theme","text","href","target","rel"])]))),128))])):v("",!0),d(n.$slots,"home-hero-actions-after",{},void 0,!0)]),e.image||u(t)?(c(),f("div",ac,[m("div",rc,[a[0]||(a[0]=m("div",{class:"image-bg"},null,-1)),d(n.$slots,"home-hero-image",{},()=>[e.image?(c(),S(Je,{key:0,class:"image-src",image:e.image},null,8,["image"])):v("",!0)],!0)])])):v("",!0)])],2))}}),ic=E(oc,[["__scopeId","data-v-4f9c455b"]]),sc=b({__name:"VPHomeHero",setup(e){const{frontmatter:t}=T();return(n,a)=>u(t).hero?(c(),S(ic,{key:0,class:"VPHomeHero",name:u(t).hero.name,text:u(t).hero.text,tagline:u(t).hero.tagline,image:u(t).hero.image,actions:u(t).hero.actions},{"home-hero-info-before":g(()=>[d(n.$slots,"home-hero-info-before")]),"home-hero-info":g(()=>[d(n.$slots,"home-hero-info")]),"home-hero-info-after":g(()=>[d(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":g(()=>[d(n.$slots,"home-hero-actions-after")]),"home-hero-image":g(()=>[d(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):v("",!0)}}),cc={class:"box"},lc={key:0,class:"icon"},uc=["innerHTML"],dc=["innerHTML"],fc=["innerHTML"],mc={key:4,class:"link-text"},gc={class:"link-text-value"},pc=b({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(c(),S(Y,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:g(()=>[m("article",cc,[typeof e.icon=="object"&&e.icon.wrap?(c(),f("div",lc,[w(Je,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(c(),S(Je,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(c(),f("div",{key:2,class:"icon",innerHTML:e.icon},null,8,uc)):v("",!0),m("h2",{class:"title",innerHTML:e.title},null,8,dc),e.details?(c(),f("p",{key:3,class:"details",innerHTML:e.details},null,8,fc)):v("",!0),e.linkText?(c(),f("div",mc,[m("p",gc,[de($(e.linkText)+" ",1),n[0]||(n[0]=m("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):v("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),hc=E(pc,[["__scopeId","data-v-a3976bdc"]]),vc={key:0,class:"VPFeatures"},yc={class:"container"},bc={class:"items"},wc=b({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=L(()=>{const a=t.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,r)=>e.features?(c(),f("div",vc,[m("div",yc,[m("div",bc,[(c(!0),f(M,null,D(e.features,o=>(c(),f("div",{key:o.title,class:N(["item",[n.value]])},[w(hc,{icon:o.icon,title:o.title,details:o.details,link:o.link,"link-text":o.linkText,rel:o.rel,target:o.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):v("",!0)}}),Sc=E(wc,[["__scopeId","data-v-a6181336"]]),kc=b({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=T();return(n,a)=>u(t).features?(c(),S(Sc,{key:0,class:"VPHomeFeatures",features:u(t).features},null,8,["features"])):v("",!0)}}),Ec=b({__name:"VPHomeContent",setup(e){const{width:t}=Ti({initialWidth:0,includeScrollbar:!1});return(n,a)=>(c(),f("div",{class:"vp-doc container",style:Sr(u(t)?{"--vp-offset":`calc(50% - ${u(t)/2}px)`}:{})},[d(n.$slots,"default",{},void 0,!0)],4))}}),Lc=E(Ec,[["__scopeId","data-v-8e2d4988"]]),_c=b({__name:"VPHome",setup(e){const{frontmatter:t,theme:n}=T();return(a,r)=>{const o=ge("Content");return c(),f("div",{class:N(["VPHome",{"external-link-icon-enabled":u(n).externalLinkIcon}])},[d(a.$slots,"home-hero-before",{},void 0,!0),w(sc,null,{"home-hero-info-before":g(()=>[d(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":g(()=>[d(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":g(()=>[d(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":g(()=>[d(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":g(()=>[d(a.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(a.$slots,"home-hero-after",{},void 0,!0),d(a.$slots,"home-features-before",{},void 0,!0),w(kc),d(a.$slots,"home-features-after",{},void 0,!0),u(t).markdownStyles!==!1?(c(),S(Lc,{key:0},{default:g(()=>[w(o)]),_:1})):(c(),S(o,{key:1}))],2)}}}),Tc=E(_c,[["__scopeId","data-v-8b561e3d"]]),Ac={},Pc={class:"VPPage"};function Rc(e,t){const n=ge("Content");return c(),f("div",Pc,[d(e.$slots,"page-top"),w(n),d(e.$slots,"page-bottom")])}const Nc=E(Ac,[["render",Rc]]),$c=b({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=T(),{hasSidebar:a}=ne();return(r,o)=>(c(),f("div",{class:N(["VPContent",{"has-sidebar":u(a),"is-home":u(n).layout==="home"}]),id:"VPContent"},[u(t).isNotFound?d(r.$slots,"not-found",{key:0}
2,()=>[w(Ji)],!0):u(n).layout==="page"?(c(),S(Nc,{key:1},{"page-top":g(()=>[d(r.$slots,"page-top",{},void 0,!0)]),"page-bottom":g(()=>[d(r.$slots,"page-bottom",{},void 0,!0)]),_:3})):u(n).layout==="home"?(c(),S(Tc,{key:2},{"home-hero-before":g(()=>[d(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":g(()=>[d(r.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":g(()=>[d(r.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":g(()=>[d(r.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":g(()=>[d(r.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":g(()=>[d(r.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":g(()=>[d(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":g(()=>[d(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":g(()=>[d(r.$slots,"home-features-after",{},void 0,!0)]),_:3})):u(n).layout&&u(n).layout!=="doc"?(c(),S(K(u(n).layout),{key:3})):(c(),S(Us,{key:4},{"doc-top":g(()=>[d(r.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":g(()=>[d(r.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":g(()=>[d(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":g(()=>[d(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":g(()=>[d(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":g(()=>[d(r.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":g(()=>[d(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":g(()=>[d(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":g(()=>[d(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":g(()=>[d(r.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":g(()=>[d(r.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Ic=E($c,[["__scopeId","data-v-1428d186"]]),Vc={class:"container"},Mc=["innerHTML"],Oc=["innerHTML"],Cc=b({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:a}=ne();return(r,o)=>u(t).footer&&u(n).footer!==!1?(c(),f("footer",{key:0,class:N(["VPFooter",{"has-sidebar":u(a)}])},[m("div",Vc,[u(t).footer.message?(c(),f("p",{key:0,class:"message",innerHTML:u(t).footer.message},null,8,Mc)):v("",!0),u(t).footer.copyright?(c(),f("p",{key:1,class:"copyright",innerHTML:u(t).footer.copyright},null,8,Oc)):v("",!0)])],2)):v("",!0)}}),jc=E(Cc,[["__scopeId","data-v-e315a0ad"]]);function xc(){const{theme:e,frontmatter:t}=T(),n=br([]),a=L(()=>n.value.length>0);return ut(()=>{n.value=Sn(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:a}}const Dc={class:"menu-text"},Hc={class:"header"},Bc={class:"outline"},Gc=b({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=T(),a=P(!1),r=P(0),o=P(),i=P();function s(h){var y;(y=o.value)!=null&&y.contains(h.target)||(a.value=!1)}Q(a,h=>{if(h){document.addEventListener("click",s);return}document.removeEventListener("click",s)}),qt("Escape",()=>{a.value=!1}),ut(()=>{a.value=!1});function l(){a.value=!a.value,r.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function p(h){h.target.classList.contains("outline-link")&&(i.value&&(i.value.style.transition="none"),kr(()=>{a.value=!1}))}function k(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(h,y)=>(c(),f("div",{class:"VPLocalNavOutlineDropdown",style:Sr({"--vp-vh":r.value+"px"}),ref_key:"main",ref:o},[e.headers.length>0?(c(),f("button",{key:0,onClick:l,class:N({open:a.value})},[m("span",Dc,$(u(Tr)(u(n))),1),y[0]||(y[0]=m("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(c(),f("button",{key:1,onClick:k},$(u(n).returnToTopLabel||"Return to top"),1)),w(pn,{name:"flyout"},{default:g(()=>[a.value?(c(),f("div",{key:0,ref_key:"items",ref:i,class:"items",onClick:p},[m("div",Hc,[m("a",{class:"top-link",href:"#",onClick:k},$(u(n).returnToTopLabel||"Return to top"),1)]),m("div",Bc,[w(Ar,{headers:e.headers},null,8,["headers"])])],512)):v("",!0)]),_:1})],4))}}),zc=E(Gc,[["__scopeId","data-v-8a42e2b4"]]),Fc={class:"container"},Uc=["aria-expanded"],Wc={class:"menu-text"},Kc=b({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:a}=ne(),{headers:r}=xc(),{y:o}=Er(),i=P(0);te(()=>{i.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ut(()=>{r.value=Sn(n.value.outline??t.value.outline)});const s=L(()=>r.value.length===0),l=L(()=>s.value&&!a.value),p=L(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:s.value,fixed:l.value}));return(k,h)=>u(n).layout!=="home"&&(!l.value||u(o)>=i.value)?(c(),f("div",{key:0,class:N(p.value)},[m("div",Fc,[u(a)?(c(),f("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:h[0]||(h[0]=y=>k.$emit("open-menu"))},[h[1]||(h[1]=m("span",{class:"vpi-align-left menu-icon"},null,-1)),m("span",Wc,$(u(t).sidebarMenuLabel||"Menu"),1)],8,Uc)):v("",!0),w(zc,{headers:u(r),navHe
2ight:i.value},null,8,["headers","navHeight"])])],2)):v("",!0)}}),Yc=E(Kc,[["__scopeId","data-v-a6f0e41e"]]);function Jc(){const e=P(!1);function t(){e.value=!0,window.addEventListener("resize",r)}function n(){e.value=!1,window.removeEventListener("resize",r)}function a(){e.value?n():t()}function r(){window.outerWidth>=768&&n()}const o=dt();return Q(()=>o.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:a}}const qc={},Xc={class:"VPSwitch",type:"button",role:"switch"},Qc={class:"check"},Zc={key:0,class:"icon"};function el(e,t){return c(),f("button",Xc,[m("span",Qc,[e.$slots.default?(c(),f("span",Zc,[d(e.$slots,"default",{},void 0,!0)])):v("",!0)])])}const tl=E(qc,[["render",el],["__scopeId","data-v-1d5665e3"]]),nl=b({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=T(),a=ft("toggle-appearance",()=>{t.value=!t.value}),r=P("");return yn(()=>{r.value=t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme"}),(o,i)=>(c(),S(tl,{title:r.value,class:"VPSwitchAppearance","aria-checked":u(t),onClick:u(a)},{default:g(()=>[...i[0]||(i[0]=[m("span",{class:"vpi-sun sun"},null,-1),m("span",{class:"vpi-moon moon"},null,-1)])]),_:1},8,["title","aria-checked","onClick"]))}}),kn=E(nl,[["__scopeId","data-v-5337faa4"]]),al={key:0,class:"VPNavBarAppearance"},rl=b({__name:"VPNavBarAppearance",setup(e){const{site:t}=T();return(n,a)=>u(t).appearance&&u(t).appearance!=="force-dark"&&u(t).appearance!=="force-auto"?(c(),f("div",al,[w(kn)])):v("",!0)}}),ol=E(rl,[["__scopeId","data-v-6c893767"]]),En=P();let Pr=!1,Pt=0;function il(e){const t=P(!1);if(mt){!Pr&&sl(),Pt++;const n=Q(En,a=>{var r,o,i;a===e.el.value||(r=e.el.value)!=null&&r.contains(a)?(t.value=!0,(o=e.onFocus)==null||o.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});vn(()=>{n(),Pt--,Pt||cl()})}return Ai(t)}function sl(){document.addEventListener("focusin",Rr),Pr=!0,En.value=document.activeElement}function cl(){document.removeEventListener("focusin",Rr)}function Rr(){En.value=document.activeElement}const ll={class:"VPMenuLink"},ul=["innerHTML"],dl=b({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,a)=>(c(),f("div",ll,[w(Y,{class:N({active:u(fe)(u(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon},{default:g(()=>[m("span",{innerHTML:e.item.text},null,8,ul)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),gt=E(dl,[["__scopeId","data-v-35975db6"]]),fl={class:"VPMenuGroup"},ml={key:0,class:"title"},gl=b({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(c(),f("div",fl,[e.text?(c(),f("p",ml,$(e.text),1)):v("",!0),(c(!0),f(M,null,D(e.items,a=>(c(),f(M,null,["link"in a?(c(),S(gt,{key:0,item:a},null,8,["item"])):v("",!0)],64))),256))]))}}),pl=E(gl,[["__scopeId","data-v-69e747b5"]]),hl={class:"VPMenu"},vl={key:0,class:"items"},yl=b({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(c(),f("div",hl,[e.items?(c(),f("div",vl,[(c(!0),f(M,null,D(e.items,a=>(c(),f(M,{key:JSON.stringify(a)},["link"in a?(c(),S(gt,{key:0,item:a},null,8,["item"])):"component"in a?(c(),S(K(a.component),se({key:1,ref_for:!0},a.props),null,16)):(c(),S(pl,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):v("",!0),d(t.$slots,"default",{},void 0,!0)]))}}),bl=E(yl,[["__scopeId","data-v-b98bc113"]]),wl=["aria-expanded","aria-label"],Sl={key:0,class:"text"},kl=["innerHTML"],El={key:1,class:"vpi-more-horizontal icon"},Ll={class:"menu"},_l=b({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=P(!1),n=P();il({el:n,onBlur:a});function a(){t.value=!1}return(r,o)=>(c(),f("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:o[1]||(o[1]=i=>t.value=!0),onMouseleave:o[2]||(o[2]=i=>t.value=!1)},[m("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:o[0]||(o[0]=i=>t.value=!t.value)},[e.button||e.icon?(c(),f("span",Sl,[e.icon?(c(),f("span",{key:0,class:N([e.icon,"option-icon"])},null,2)):v("",!0),e.button?(c(),f("span",{key:1,innerHTML:e.button},null,8,kl)):v("",!0),o[3]||(o[3]=m("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(c(),f("span",El))],8,wl),m("div",Ll,[w(bl,{items:e.items},{default:g(()=>[d(r.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),Ln=E(_l,[["__scopeId","data-v-cf11d7a2"]]),Tl=["href","aria-label","innerHTML"],Al=b({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=P();te(async()=>{var o;await kr();const r=(o=n.value)==null?void 0:o.children[0];r instanceof HTMLElement&&r.className.startsWith("vpi-social-")&&(getComputedStyle(r).maskImage||getComputedStyle(r).webkitMaskImage)==="none"&&r.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${t.icon}.svg')`)});const a=L(()=>typeof t.icon=="object"?t.icon.svg:`<span class="vpi-social-${t.icon}"></span>`);return(r,o)=>(c(),f("a",{ref_key:"el",ref:n,class:"VPSocialLink no-icon",href:e.link,"aria-label":e.ariaLabel??(typeof e.icon=="str
2ing"?e.icon:""),target:"_blank",rel:"noopener",innerHTML:a.value},null,8,Tl))}}),Pl=E(Al,[["__scopeId","data-v-bd121fe5"]]),Rl={class:"VPSocialLinks"},Nl=b({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(c(),f("div",Rl,[(c(!0),f(M,null,D(e.links,({link:a,icon:r,ariaLabel:o})=>(c(),S(Pl,{key:a,icon:r,link:a,ariaLabel:o},null,8,["icon","link","ariaLabel"]))),128))]))}}),_n=E(Nl,[["__scopeId","data-v-7bc22406"]]),$l={key:0,class:"group translations"},Il={class:"trans-title"},Vl={key:1,class:"group"},Ml={class:"item appearance"},Ol={class:"label"},Cl={class:"appearance-action"},jl={key:2,class:"group"},xl={class:"item social-links"},Dl=b({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=T(),{localeLinks:a,currentLang:r}=xe({correspondingLink:!0}),o=L(()=>a.value.length&&r.value.label||t.value.appearance||n.value.socialLinks);return(i,s)=>o.value?(c(),S(Ln,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:g(()=>[u(a).length&&u(r).label?(c(),f("div",$l,[m("p",Il,$(u(r).label),1),(c(!0),f(M,null,D(u(a),l=>(c(),S(gt,{key:l.link,item:l},null,8,["item"]))),128))])):v("",!0),u(t).appearance&&u(t).appearance!=="force-dark"&&u(t).appearance!=="force-auto"?(c(),f("div",Vl,[m("div",Ml,[m("p",Ol,$(u(n).darkModeSwitchLabel||"Appearance"),1),m("div",Cl,[w(kn)])])])):v("",!0),u(n).socialLinks?(c(),f("div",jl,[m("div",xl,[w(_n,{class:"social-links-list",links:u(n).socialLinks},null,8,["links"])])])):v("",!0)]),_:1})):v("",!0)}}),Hl=E(Dl,[["__scopeId","data-v-bb2aa2f0"]]),Bl=["aria-expanded"],Gl=b({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(c(),f("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=a=>t.$emit("click"))},[...n[1]||(n[1]=[m("span",{class:"container"},[m("span",{class:"top"}),m("span",{class:"middle"}),m("span",{class:"bottom"})],-1)])],10,Bl))}}),zl=E(Gl,[["__scopeId","data-v-e5dd9c1c"]]),Fl=["innerHTML"],Ul=b({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,a)=>(c(),S(Y,{class:N({VPNavBarMenuLink:!0,active:u(fe)(u(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,tabindex:"0"},{default:g(()=>[m("span",{innerHTML:e.item.text},null,8,Fl)]),_:1},8,["class","href","target","rel","no-icon"]))}}),Wl=E(Ul,[["__scopeId","data-v-e56f3d57"]]),Kl=b({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=T(),a=o=>"component"in o?!1:"link"in o?fe(n.value.relativePath,o.link,!!t.item.activeMatch):o.items.some(a),r=L(()=>a(t.item));return(o,i)=>(c(),S(Ln,{class:N({VPNavBarMenuGroup:!0,active:u(fe)(u(n).relativePath,e.item.activeMatch,!!e.item.activeMatch)||r.value}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Yl={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Jl=b({__name:"VPNavBarMenu",setup(e){const{theme:t}=T();return(n,a)=>u(t).nav?(c(),f("nav",Yl,[a[0]||(a[0]=m("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(c(!0),f(M,null,D(u(t).nav,r=>(c(),f(M,{key:JSON.stringify(r)},["link"in r?(c(),S(Wl,{key:0,item:r},null,8,["item"])):"component"in r?(c(),S(K(r.component),se({key:1,ref_for:!0},r.props),null,16)):(c(),S(Kl,{key:2,item:r},null,8,["item"]))],64))),128))])):v("",!0)}}),ql=E(Jl,[["__scopeId","data-v-dc692963"]]);function Xl(e){const{localeIndex:t,theme:n}=T();function a(r){var R,V,j;const o=r.split("."),i=(R=n.value.search)==null?void 0:R.options,s=i&&typeof i=="object",l=s&&((j=(V=i.locales)==null?void 0:V[t.value])==null?void 0:j.translations)||null,p=s&&i.translations||null;let k=l,h=p,y=e;const _=o.pop();for(const G of o){let re=null;const he=y==null?void 0:y[G];he&&(re=y=he);const Tt=h==null?void 0:h[G];Tt&&(re=h=Tt);const At=k==null?void 0:k[G];At&&(re=k=At),he||(y=re),Tt||(h=re),At||(k=re)}return(k==null?void 0:k[_])??(h==null?void 0:h[_])??(y==null?void 0:y[_])??""}return a}const Ql=["aria-label"],Zl={class:"DocSearch-Button-Container"},eu={class:"DocSearch-Button-Placeholder"},aa=b({__name:"VPNavBarSearchButton",setup(e){const n=Xl({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,r)=>(c(),f("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":u(n)("button.buttonAriaLabel")},[m("span",Zl,[r[0]||(r[0]=m("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),m("span",eu,$(u(n)("button.buttonText")),1)]),r[1]||(r[1]=m("span",{class:"DocSearch-Button-Keys"},[m("kbd",{class:"DocSearch-Button-Key"}),m("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,Ql))}}),tu={class:"VPNavBarSearch"},nu={id:"local-search"},au={key:1,id:"docsearch"},ru=b({__name:"VPNavBarSearch",setup(e){const t=Pi(()=>Ri(()=>import("./VPLocalSearchBox.jd5cmRMR.js"),__vite__mapDeps([0,1]))),n=()=>null,{theme:a}=T(),r=P(!1),o=P(!1);te(()=>{});function i(){r.value||(r.value=!0,setTimeout(s,16))}function s(){const h=new Event("keydown");h.key="k",h.metaKey=!0,window.dispatchEvent(h),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||s()},16)}function l(h){const y=h.target,_=y.tagName;return y.isContentEditable||_==="INPUT"||_==="SELECT"||_==="TEXTAREA"}const p=P(!1);qt("k",h=>{(h.ctrlKey||h.metaKey)&&(h.preventDefault(),p.value=!0)}),qt("/",h=>{l(h)||(h.preventDefault(),p.value=!0)});const k="local";return(h,y)=>{var _;return c(),f("div",tu,[u(k)==="local"?(c(),f(M,{key:0},[p.value?(c(),S(u(t),{key:0,onClose:y[0]||(y[0]=R=>p.value=!1)})):v("",!0),m("div",nu,[w(aa,{onClick:y[1]||(y[1]=R=>p.value=!0)})])],64)):u(k)==="algolia"?(c(),f(M,{key:1},[r.value?(c(),S(u(n),{key:0,algolia:((_=u(a).search)==null?void 0:_.options)??u(a).algolia,onVnodeBeforeMount:y[2]||(y[2]=R=>o.value=!0)},null,8,["algolia"])):v("",!0),o.value?v("",!0):(c(),f("div",au,[w(aa,{onClick:i})]))],64)):v("",!0)])}}}),ou=b({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=T();return(n,a)=>u(t).socialLinks?(c(),S(_n,{key:0,class:"VPNavBarSocialLinks",links:u(t).socialLinks},null,8,["links"])):v("",!0)}}),iu=E(ou,[["__scopeId","data-v-0394ad82"]]),su=["href","rel","target"],cu=["innerHTML"],lu={key:2},uu=b({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=T(),{hasSidebar:a}=ne(),{currentLang:r}=xe(),o=L(()=>{var l;
2return typeof n.value.logoLink=="string"?n.value.logoLink:(l=n.value.logoLink)==null?void 0:l.link}),i=L(()=>{var l;return typeof n.value.logoLink=="string"||(l=n.value.logoLink)==null?void 0:l.rel}),s=L(()=>{var l;return typeof n.value.logoLink=="string"||(l=n.value.logoLink)==null?void 0:l.target});return(l,p)=>(c(),f("div",{class:N(["VPNavBarTitle",{"has-sidebar":u(a)}])},[m("a",{class:"title",href:o.value??u(wn)(u(r).link),rel:i.value,target:s.value},[d(l.$slots,"nav-bar-title-before",{},void 0,!0),u(n).logo?(c(),S(Je,{key:0,class:"logo",image:u(n).logo},null,8,["image"])):v("",!0),u(n).siteTitle?(c(),f("span",{key:1,innerHTML:u(n).siteTitle},null,8,cu)):u(n).siteTitle===void 0?(c(),f("span",lu,$(u(t).title),1)):v("",!0),d(l.$slots,"nav-bar-title-after",{},void 0,!0)],8,su)],2))}}),du=E(uu,[["__scopeId","data-v-1168a8e4"]]),fu={class:"items"},mu={class:"title"},gu=b({__name:"VPNavBarTranslations",setup(e){const{theme:t}=T(),{localeLinks:n,currentLang:a}=xe({correspondingLink:!0});return(r,o)=>u(n).length&&u(a).label?(c(),S(Ln,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:u(t).langMenuLabel||"Change language"},{default:g(()=>[m("div",fu,[m("p",mu,$(u(a).label),1),(c(!0),f(M,null,D(u(n),i=>(c(),S(gt,{key:i.link,item:i},null,8,["item"]))),128))])]),_:1},8,["label"])):v("",!0)}}),pu=E(gu,[["__scopeId","data-v-88af2de4"]]),hu={class:"wrapper"},vu={class:"container"},yu={class:"title"},bu={class:"content"},wu={class:"content-body"},Su=b({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const t=e,{y:n}=Er(),{hasSidebar:a}=ne(),{frontmatter:r}=T(),o=P({});return yn(()=>{o.value={"has-sidebar":a.value,home:r.value.layout==="home",top:n.value===0,"screen-open":t.isScreenOpen}}),(i,s)=>(c(),f("div",{class:N(["VPNavBar",o.value])},[m("div",hu,[m("div",vu,[m("div",yu,[w(du,null,{"nav-bar-title-before":g(()=>[d(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":g(()=>[d(i.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),m("div",bu,[m("div",wu,[d(i.$slots,"nav-bar-content-before",{},void 0,!0),w(ru,{class:"search"}),w(ql,{class:"menu"}),w(pu,{class:"translations"}),w(ol,{class:"appearance"}),w(iu,{class:"social-links"}),w(Hl,{class:"extra"}),d(i.$slots,"nav-bar-content-after",{},void 0,!0),w(zl,{class:"hamburger",active:e.isScreenOpen,onClick:s[0]||(s[0]=l=>i.$emit("toggle-screen"))},null,8,["active"])])])])]),s[1]||(s[1]=m("div",{class:"divider"},[m("div",{class:"divider-line"})],-1))],2))}}),ku=E(Su,[["__scopeId","data-v-6aa21345"]]),Eu={key:0,class:"VPNavScreenAppearance"},Lu={class:"text"},_u=b({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=T();return(a,r)=>u(t).appearance&&u(t).appearance!=="force-dark"&&u(t).appearance!=="force-auto"?(c(),f("div",Eu,[m("p",Lu,$(u(n).darkModeSwitchLabel||"Appearance"),1),w(kn)])):v("",!0)}}),Tu=E(_u,[["__scopeId","data-v-b44890b2"]]),Au=["innerHTML"],Pu=b({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ft("close-screen");return(n,a)=>(c(),S(Y,{class:"VPNavScreenMenuLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:u(t)},{default:g(()=>[m("span",{innerHTML:e.item.text},null,8,Au)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ru=E(Pu,[["__scopeId","data-v-df37e6dd"]]),Nu=["innerHTML"],$u=b({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ft("close-screen");return(n,a)=>(c(),S(Y,{class:"VPNavScreenMenuGroupLink",href:e.item.link,target:e.item.target,rel:e.item.rel,"no-icon":e.item.noIcon,onClick:u(t)},{default:g(()=>[m("span",{innerHTML:e.item.text},null,8,Nu)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Nr=E($u,[["__scopeId","data-v-3e9c20e4"]]),Iu={class:"VPNavScreenMenuGroupSection"},Vu={key:0,class:"title"},Mu=b({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(c(),f("div",Iu,[e.text?(c(),f("p",Vu,$(e.text),1)):v("",!0),(c(!0),f(M,null,D(e.items,a=>(c(),S(Nr,{key:a.text,item:a},null,8,["item"]))),128))]))}}),Ou=E(Mu,[["__scopeId","data-v-8133b170"]]),Cu=["aria-controls","aria-expanded"],ju=["innerHTML"],xu=["id"],Du={key:0,class:"item"},Hu={key:1,class:"item"},Bu={key:2,class:"group"},Gu=b({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=P(!1),a=L(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function r(){n.value=!n.value}return(o,i)=>(c(),f("div",{class:N(["VPNavScreenMenuGroup",{open:n.value}])},[m("button",{class:"button","aria-controls":a.value,"aria-expanded":n.value,onClick:r},[m("span",{class:"button-text",innerHTML:e.text},null,8,ju),i[0]||(i[0]=m("span",{class:"vpi-plus button-icon"},null,-1))],8,Cu),m("div",{id:a.value,class:"items"},[(c(!0),f(M,null,D(e.items,s=>(c(),f(M,{key:JSON.stringify(s)},["link"in s?(c(),f("div",Du,[w(Nr,{item:s},null,8,["item"])])):"component"in s?(c(),f("div",Hu,[(c(),S(K(s.component),se({ref_for:!0},s.props,{"screen-menu":""}),null,16))])):(c(),f("div",Bu,[w(Ou,{text:s.text,items:s.items},null,8,["text","items"])]))],64))),128))],8,xu)],2))}}),zu=E(Gu,[["__scopeId","data-v-b9ab8c58"]]),Fu={key:0,class:"VPNavScreenMenu"},Uu=b({__name:"VPNavScreenMenu",setup(e){const{theme:t}=T();return(n,a)=>u(t).nav?(c(),f("nav",Fu,[(c(!0),f(M,null,D(u(t).nav,r=>(c(),f(M,{key:JSON.stringify(r)},["link"in r?(c(),S(Ru,{key:0,item:r},null,8,["item"])):"component"in r?(c(),S(K(r.component),se({key:1,ref_for:!0},r.props,{"screen-menu":""}),null,16)):(c(),S(zu,{key:2,text:r.text||"",items:r.items},null,8,["text","items"]))],64))),128))])):v("",!0)}}),Wu=b({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=T();return(n,a)=>u(t).socialLinks?(c(),S(_n,{key:0,class:"VPNavScreenSocialLinks",links:u(t).socialLinks},null,8,["links"])):v("",!0)}}),Ku={class:"list"},Yu=b({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=xe({correspondingLink:!0}),a=P(!1);function r(){a.value=!a.value}return(o,i)=>u(t).length&&u(n).label?(c(),f("div",{key:0,class:N(["VPNavScreenTranslations",{open:a.value}])},[m("button",{class:"title",onClick:r},[i[0]||(i[0]=m("span",{class:"vpi-languages icon lang"},null,-1)),de(" "+$(u(n).label)+" ",1),i[1]||(i[1]=m("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),m("ul",Ku,[(c(!0),f(M,null,D(u(t),s=>(c(),f("li",{key:s.link,class:"item"},[w(Y,{class:"link",href:s.link},{default:g(()=>[de($(s.text),1)]),_:2},1032,["href"])]))),128))])],2)):v("",!0)}}),Ju=E(Yu,[["__scopeId","data-v-858fe1a4"]]),qu={class:"container"},Xu=b({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=P(null),n=Lr(mt?document.body:null);return(a,r)=>(c(),S(pn,{name:"fade",onEnter:r[0]||(r[0]=o=>n.value=!0),onAfterLeave:r[1]||(r[1]=o=>n.value=!1)},{default:g(()=>[e.open?(c(),f("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[m("div",qu,[d(a.$slots,"nav-screen-content-before",{},void 0,!0),w(Uu,{class:"menu"}),w(Ju,{class:"translations"}),w(Tu,{class:"appearance"}),w(Wu,{class:"social-links"}),d(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):v("",!0)]),_:3}))}}),Qu=E(Xu,[["__scopeId","data-v-f2779853"]]),Zu={key:0,class:"VPNav"},ed=b({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:a}=Jc(),{frontmatter:r}=T(),o=L(()=>r.value.navbar!==!1);return bn("close-screen",n),lt(()=>{mt&&document.documentElement.classList.toggle("hide-nav",!o.value)}),(i,s)=>o.value?(c(),f("header",Zu,[w(ku,{"is-screen-open":u(t),onToggleScreen:u(a)},{"nav-bar-title-before":g(()=>[d(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":g(()=>[d(i.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":g(()=>[d(i.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":g(()=>[d(i.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),w(Qu,{open:u(t)},{"nav-screen-content-before":g(()=>[d(i.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":g(()=>[d(i.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):v("",!0)}}),td=E(ed,[["__scopeId","data-v-ae24b3ad"]]),nd=["role","tabindex"],ad={key:1,class:"items"},rd=b({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:a,isLink:r,isActiveLink:o,hasActiveLink:i,hasChildren:s,toggle:l}=Zi(L(()=>t.item)),p=L(()=>s.value?"section":"div"),k=L(()=>r.value?"a":"div"),h=L(()=>s.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),y=L(()=>r.value?void 0:"button"),_=L(()=>[[`level-${t.depth}`],{collapsible:a.value},{collapsed:n.value},{"is-link":r.value},{"is-active":o.value},{"has-active":i.value}]);function R(j){"key"in j&&j.key!=="Enter"||!t.item.link&&l()}function V(){t.item.link&&l()}return(j,G)=>{const re=ge("VPSidebarItem",!0);return c(),S(K(p.value),{class:N(["VPSidebarItem",_.value])},{default:g(()=>[e.item.text?(c(),f("div",se({key:0,class:"item",role:y.value},Ni(e.item.items?{click:R,keydown:R}:{},!0),{tabindex:e.item.items&&0}),[G[1]||(G[1]=m("div",{class:"indicator"},null,-1)),e.item.link?(c(),S(Y,{key:0,tag:k.value,class:"link",href:e.item.link,rel:e.item.rel,target:e.item.target},{default:g(()=>[(c(),S(K(h.value),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(c(),S(K(h.value),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null&&e.item.items&&e.item.items.length?(c(),f("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:V,onKeydown:$i(V,["enter"]),tabindex:"0"},[...G[0]||(G[0]=[m("span",{class:"vpi-chevron-right caret-icon"},null,-1)])],32)):v("",!0)],16,nd)):v("",!0),e.item.items&&e.item.items.length?(c(),f("div",ad,[e.depth<5?(c(!0),f(M,{key:0},D(e.item.items,he=>(c(),S(re,{key:he.text,item:he,depth:e.depth+1},null,8,["item","depth"]))),128)):v("",!0)])):v("",!0)]),_:1},8,["class"])}}}),od=E(rd,[["__scopeId","data-v-b3fd67f8"]]),id=b({__name:"VPSidebarGroup",props:{items:{}},setup(e){const t=P(!0);let n=null;return te(()=>{n=setTimeout(()=>{n=null,t.value=!1},300)}),Ii(()=>{n!=null&&(clearTimeout(n),n=null)}),(a,r)=>(c(!0),f(M,null,D(e.items,o=>(c(),f("div",{key:o.text,class:N(["group",{"no-transition":t.value}])},[w(od,{item:o,depth:0},null,8,["item"])],2))),128))}}),sd=E(id,[["__scopeId","data-v-c40bc020"]]),cd={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},ld=b({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=ne(),a=e,r=P(null),o=Lr(mt?document.body:null);Q([a,r],()=>{var s;a.open?(o.value=!0,(s=r.value)==null||s.focus()):o.value=!1},{immediate:!0,flush:"post"});const i=P(0);return Q(t,()=>{i.value+=1},{deep:!0}),(s,l)=>u(n)?(c(),f("aside",{key:0,class:N(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:r,onClick:l[0]||(l[0]=Vi(()=>{},["stop"]))},[l[2]||(l[2]=m("div",{class:"curtain"},null,-1)),m("nav",cd,[l[1]||(l[1]=m("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),d(s.$slots,"sidebar-nav-before",{},void 0,!0),(c(),S(sd,{items:u(t),key:i.value},null,8,["items"])),d(s.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):v("",!0)}}),ud=E(ld,[["__scopeId","data-v-319d5ca6"]]),dd=b({__name:"VPSkipLink",setup(e){const{theme:t}=T(),n=dt(),a=P();Q(()=>n.path,()=>a.value.focus());function r({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));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(o,i)=>(c(),f(M,null,[m("span",{ref_key:"backToTop",ref:a,tabindex:"-1"},null,512),m("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:r},$(u(t).skipToContentLabel||"Skip to content"),1)],64))}}),fd=E(dd,[["__scopeId","data-v-0b0ada53"]]),md=b({__name:"Layout",setup(e){const{isOpen:t,open:n,close:a}=ne(),r=dt();Q(()=>r.path,a),Qi(t,a);const{frontmatter:o}=T(),i=Mi(),s=L(()=>!!i["home-hero-image"]);return bn("hero-image-slot-exists",s),(l,p)=>
2{const k=ge("Content");return u(o).layout!==!1?(c(),f("div",{key:0,class:N(["Layout",u(o).pageClass])},[d(l.$slots,"layout-top",{},void 0,!0),w(fd),w(Di,{class:"backdrop",show:u(t),onClick:u(a)},null,8,["show","onClick"]),w(td,null,{"nav-bar-title-before":g(()=>[d(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":g(()=>[d(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":g(()=>[d(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":g(()=>[d(l.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":g(()=>[d(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":g(()=>[d(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),w(Yc,{open:u(t),onOpenMenu:u(n)},null,8,["open","onOpenMenu"]),w(ud,{open:u(t)},{"sidebar-nav-before":g(()=>[d(l.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":g(()=>[d(l.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),w(Ic,null,{"page-top":g(()=>[d(l.$slots,"page-top",{},void 0,!0)]),"page-bottom":g(()=>[d(l.$slots,"page-bottom",{},void 0,!0)]),"not-found":g(()=>[d(l.$slots,"not-found",{},void 0,!0)]),"home-hero-before":g(()=>[d(l.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":g(()=>[d(l.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":g(()=>[d(l.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":g(()=>[d(l.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":g(()=>[d(l.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":g(()=>[d(l.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":g(()=>[d(l.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":g(()=>[d(l.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":g(()=>[d(l.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":g(()=>[d(l.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":g(()=>[d(l.$slots,"doc-before",{},void 0,!0)]),"doc-after":g(()=>[d(l.$slots,"doc-after",{},void 0,!0)]),"doc-top":g(()=>[d(l.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":g(()=>[d(l.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":g(()=>[d(l.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":g(()=>[d(l.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":g(()=>[d(l.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":g(()=>[d(l.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":g(()=>[d(l.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":g(()=>[d(l.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),w(jc),d(l.$slots,"layout-bottom",{},void 0,!0)],2)):(c(),S(k,{key:1}))}}}),gd=E(md,[["__scopeId","data-v-5d98c3a5"]]),Pe={Layout:gd,enhanceApp:({app:e})=>{e.component("Badge",Ci)}},pd="2.0.7",hd={version:pd},vd="#000000";function ke(e){return/^#[0-9a-f]{6}$/i.test(e)?e.toLowerCase():vd}function yd(e,t,n=ke){const a=ra(e,n),r=ra(t,n),o=Math.max(a,r),i=Math.min(a,r);return(o+.05)/(i+.05)}function ra(e,t=ke){const[n,a,r]=qe(e,t).map(o=>{const i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4});return .2126*n+.7152*a+.0722*r}function bd(e,t,n,a=ke){const r=qe(e,a),o=qe(t,a);return`#${r.map((i,s)=>Math.round(i+(o[s]-i)*n).toString(16).padStart(2,"0")).join("")}`}function qe(e,t=ke){const n=ke(t(e));return[parseInt(n.slice(1,3),16),parseInt(n.slice(3,5),16),parseInt(n.slice(5,7),16)]}function wd(e,t,n=ke){const[a,r,o]=qe(e,n);return`rgba(${a}, ${r}, ${o}, ${Math.max(0,Math.min(1,t)).toFixed(2)})`}const C={accent:"#5ea780",black:"#000000",white:"#ffffff",readableInk:"#11161d",pageBgDark:"#181b20",pageBgLight:"#ffffff"},Sd=4.5,kd=4.5,oa=3.5;function Ee(e,t=C.accent){return $r(e)??t}function $r(e){if(typeof e!="string")return;const t=e.trim();if(/^#[0-9a-f]{6}$/i.test(t))return t.toLowerCase();const n=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(t);return n?`#${n[1]}${n[1]}${n[2]}${n[2]}${n[3]}${n[3]}`.toLowerCase():void 0}function Rt(e){const t=ue(e,C.readableInk),n=ue(e,C.white),a=t>=n?C.readableInk:C.white;return Math.max(t,n)>=Sd?a:ue(e,C.black)>=n?C.black:C.white}function Ed(e,t){const n=Ee(e),a=t?C.pageBgDark:C.pageBgLight,r=Nt(n,a,kd),o=t?C.white:C.black,i=Nt(en(n,o,.18),a,oa),s=Nt(en(n,C.black,.18),a,oa),l=wd(n,t?.22:.16,Ee),p=Rt(n),k=Rt(r),h=Rt(i);return{"--yomu-accent":n,"--yomu-accent-readable":r,"--yomu-accent-ink":p,"--yomu-brand-ink":k,"--yomu-brand-hover-ink":h,"--vp-c-brand-1":r,"--vp-c-brand-2":i,"--vp-c-brand-3":n,"--vp-c-brand-soft":l,"--vp-button-brand-border":r,"--vp-button-brand-bg":n,"--vp-button-brand-text":p,"--vp-button-brand-hover-border":i,"--vp-button-brand-hover-bg":i,"--vp-button-brand-hover-text":p,"--vp-button-brand-active-border":s,"--vp-button-brand-active-bg":s,"--vp-button-brand-active-text":p,"--vp-home-hero-name-color":r,"--accent":n,"--accent-ink":p,"--accent-soft":l,"--jpdb-reader-accent":n,"--jpdb-reader-accent-readable":r,"--jpdb-reader-accent-text":p,"--jpdb-reader-accent-soft":l}}function Nt(e,t,n){const a=Ee(e);if(ue(a,t)>=n)return a;const r=Ld(t);for(let o=.08;o<=1;o+=.08){const i=en(a,r,o);if(ue(i,t)>=n)return i}return r}function Ld(e){return ue(e,C.black)>ue(e,C.white)?C.black:C.white}function ue(e,t){return yd(e,t,Ee)}
2function en(e,t,n){return bd(e,t,n,Ee)}const _d=["yomu-","yomu:","yomu.","__yomu","jpdb-reader-","jpdb-popup-reader-"],Ir="yomu:state-slot:v1:",Vr="yomu:web-storage-slot:v1:",Mr=[Ir,Vr];function Tn(e){return _d.some(t=>e.startsWith(t))}function Td(e){var t;return((t=Ad(e))==null?void 0:t.startsWith("yomu:private:"))===!0}function Ad(e){const t=Mr.find(r=>e.startsWith(r));if(!t)return e;const n=e.slice(t.length),a=n.indexOf(":");if(a<1||a===n.length-1)return null;try{const r=decodeURIComponent(n.slice(a+1));return r&&!An(r)&&Tn(r)?r:null}catch{return null}}function An(e){return Mr.some(t=>e.startsWith(t))}function Pd(e){return!!(e&&typeof e.then=="function")}const Rd="yomu",Le=`${Rd}-reader`,Nd="HRussellZFAC023",$d=`https://${Nd.toLowerCase()}.github.io`,Or="https://yomureader.com",Id="yomu-userscript-storage-bridge-ready",Vd="yomureader.localhost",Md=new Set(["http:","https:"]),Od=new Set(["chrome-extension:","moz-extension:","safari-web-extension:"]),Cd=new Map([[Or,"docs"],[$d,"github-pages"]]),jd=new Map([[Vd,"docs-preview"],["127.0.0.1","loopback"],["localhost","loopback"],["[::1]","loopback"]]),xd=new Set([]);function Cr(e){return xd.has(e)}function Pn(e){let t;try{t=new URL(e)}catch{return null}if(t.username||t.password)return null;const n=jr(t.pathname),a=Hd(t,n);return a?{url:t,path:n,originKind:a}:null}function jr(e){const t=e.replace(/\/index\.html$/u,"/");return t.endsWith("/")?t:`${t}/`}function Dd(e){return e===`/${Le}/`||e.startsWith(`/${Le}/`)}function Hd(e,t){return Bd(e,t)??Gd(e)??zd(e)}function Bd(e,t){const n=Cd.get(e.origin);return n!=="github-pages"?n??null:Dd(t)?n:null}function Gd(e){return Md.has(e.protocol)?jd.get(e.hostname)??null:null}function zd(e){return Od.has(e.protocol)&&e.hostname?"extension":null}const Fd=["appearance","backup","api","dictionaries","media","mining","newTab","shortcuts","help"];new Set(Fd);const Ud={docs:ze,"docs-preview":ze,extension:ze,"github-pages":xr,loopback:Yd};function Wd(e){const t=Pn(e);return t?Kd(t):!1}function ze(e){const t=jr(e);return t==="/study/"||t==="/newtab/"}function Kd(e){const{originKind:t,path:n}=e;return Ud[t](n)}function Yd(e){return ze(e)||xr(e)}function xr(e){return e===`/${Le}/study/`||e===`/${Le}/newtab/`}const Jd={docs:tn,"github-pages":tn,extension:()=>!1,loopback:ia,"docs-preview":ia};function qd(e){const t=Pn(e);return t?Jd[t.originKind](e,t):!1}function Xd(e){const t=Pn(e);return t?t.originKind==="docs"||t.originKind==="github-pages"?!0:qd(e):!1}function tn(e,t){return Wd(e)||$t(t,"video-player")||$t(t,"pdf-reader")||$t(t,"academy")}function ia(e,t){return Cr(t.url.origin)&&tn(e,t)}function $t(e,t){return e.originKind==="github-pages"?e.path===`/${Le}/${t}/`:e.path===`/${t}/`||e.originKind==="loopback"&&e.path===`/${Le}/${t}/`}const Dr="jpdb-reader-installed-runtime";function Qd(e=globalThis){var t,n,a,r,o,i,s;return(n=(t=e.chrome)==null?void 0:t.runtime)!=null&&n.id||(r=(a=e.browser)==null?void 0:a.runtime)!=null&&r.id?"extension":e===globalThis&&typeof GM_getValue=="function"||typeof e.GM_getValue=="function"||typeof((o=e.GM)==null?void 0:o.getValue)=="function"||typeof((i=e.GM)==null?void 0:i.xmlHttpRequest)=="function"||typeof((s=e.GM)==null?void 0:s.xmlhttpRequest)=="function"||e.GM_info?"userscript":null}function Zd(e=document){var n,a;const t=(a=(n=e.getElementById(Dr))==null?void 0:n.dataset)==null?void 0:a.yomuInstalledRuntimeKind;return t==="extension"||t==="userscript"?t:null}function Hr(e=!1,t=document){return e||!t.getElementById(Dr)}function ef(e){if(Qd())return null;const t=Zd();return t&&e()?t:null}function Rn(e,t,n){if((e==null?void 0:e[t.ready])!=="true")return null;const a=e[t.kind];return a==="extension"||a==="userscript"?n&&a!==n&&a!=="extension"?null:{ownerId:e[t.owner],kind:a}:{ownerId:e[t.owner],kind:n??"userscript"}}function tf(e){return e===void 0?void 0:nf(e)??e}function nf(e){let t=!1;try{const n=JSON.stringify(e,(a,r)=>{if(rf(r)){t=!0;return}return r});return t||typeof n!="string"?void 0:n}catch{return}}function af(e){const t=uf(e);if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}function rf(e){return of(e)||sf(e)||cf(e)||lf(e)}function of(e){return typeof e=="function"||typeof e=="symbol"}function sf(e){return typeof ArrayBuffer>"u"?!1:e instanceof ArrayBuffer||ArrayBuffer.isView(e)}function cf(e){return typeof Blob<"u"&&e instanceof Blob}function lf(e){return typeof FormData<"u"&&e instanceof FormData}function uf(e){try{return e.detail}catch{return}}function Br(e,t,n){try{return e()}catch{return t}}function df(e,t){try{e()}catch{}}let sa=Nn("dispatchEvent"),ca=Nn("addEventListener"),la=Nn("removeEventListener");function ua(e,t,n={}){const a={...n,detail:ff(t)},r=bf(e,a);if(r)return r;const o=da(window,"CustomEvent")??da(globalThis,"CustomEvent");
2if(o)try{return new o(e,a)}catch{}throw new Error(`Unable to create window custom event: ${e}`)}function ff(e){if(e===void 0||typeof window>"u")return e;const t=z(globalThis,"cloneInto");if(!t)return e;try{return t(e,window,{cloneFunctions:!1,wrapReflectors:!0})}catch{try{return JSON.stringify(e)}catch{return}}}function mf(e){const t=window,n=z(t,"dispatchEvent"),a=Xe(n,t,e);if(a.called)return a.result;const r=sa===n?{called:!1}:Xe(sa,t,e);if(r.called)return r.result;const o=hf(t,n,e);if(o.called)return o.result;const i=Sf(e);return i.called?i.result:!1}function gf(e,t,n){const a=window,r=z(a,"addEventListener");return!!(Qe(r,a,e,t,n).called||(ca===r?{called:!1}:Qe(ca,a,e,t,n)).called||vf(a,r,e,t,n).called||kf(e,t,n).called)}function pf(e,t,n){const a=window,r=z(a,"removeEventListener");return!!(Ze(r,a,e,t,n).called||(la===r?{called:!1}:Ze(la,a,e,t,n)).called||yf(a,r,e,t,n).called||Ef(e,t,n).called)}function Nn(e){if(!(typeof window>"u"))return z(window,e)}function hf(e,t,n){for(const a of $n(e,"dispatchEvent")){if(a===t)continue;const r=Xe(a,e,n);if(r.called)return r}return{called:!1}}function vf(e,t,n,a,r){for(const o of $n(e,"addEventListener")){if(o===t)continue;const i=Qe(o,e,n,a,r);if(i.called)return i}return{called:!1}}function yf(e,t,n,a,r){for(const o of $n(e,"removeEventListener")){if(o===t)continue;const i=Ze(o,e,n,a,r);if(i.called)return i}return{called:!1}}function da(e,t){const n=In(e,t);return typeof n=="function"?n:void 0}function bf(e,t){if(!(typeof document>"u"||typeof document.createEvent!="function"))try{const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!!t.bubbles,!!t.cancelable,t.detail),n}catch{return}}function $n(e,t){const n=[],a=i=>{i&&!n.includes(i)&&n.push(i)};let r=Object.getPrototypeOf(e);for(;r;)a(wf(r,t)),r=Object.getPrototypeOf(r);const o=In(window,"EventTarget");return a(z(o==null?void 0:o.prototype,t)),typeof EventTarget<"u"&&a(z(EventTarget.prototype,t)),n}function z(e,t){const n=In(e,t);return typeof n=="function"?n:void 0}function wf(e,t){if(!(!e||typeof e!="object"&&typeof e!="function")&&Object.prototype.hasOwnProperty.call(e,t))return z(e,t)}function In(e,t){if(!(!e||typeof e!="object"&&typeof e!="function"))return Br(()=>e[t],void 0)}function Xe(e,t,n){if(!e)return{called:!1};try{return{called:!0,result:e.call(t,n)}}catch(a){return{called:!1,error:a}}}function Qe(e,t,n,a,r){if(!e)return{called:!1};try{return e.call(t,n,a,r),{called:!0}}catch(o){return{called:!1,error:o}}}function Ze(e,t,n,a,r){if(!e)return{called:!1};try{return e.call(t,n,a,r),{called:!0}}catch(o){return{called:!1,error:o}}}function Sf(e){const t=window.wrappedJSObject||window,n=Mn("dispatchEvent");if(!On(n))return{called:!1};try{return Reflect.deleteProperty(t,"dispatchEvent")?Xe(z(window,"dispatchEvent"),window,e):{called:!1}}catch(a){return{called:!1,error:a}}finally{Vn("dispatchEvent",n)}}function kf(e,t,n){const a=window.wrappedJSObject||window,r=Mn("addEventListener");if(!On(r))return{called:!1};try{return Reflect.deleteProperty(a,"addEventListener")?Qe(z(window,"addEventListener"),window,e,t,n):{called:!1}}catch(o){return{called:!1,error:o}}finally{Vn("addEventListener",r)}}function Ef(e,t,n){const a=window.wrappedJSObject||window,r=Mn("removeEventListener");if(!On(r))return{called:!1};try{return Reflect.deleteProperty(a,"removeEventListener")?Ze(z(window,"removeEventListener"),window,e,t,n):{called:!1}}catch(o){return{called:!1,error:o}}finally{Vn("removeEventListener",r)}}function Vn(e,t){df(()=>{const n=window.wrappedJSObject||window;Object.defineProperty(n,e,Lf(Tf(t),n))})}function Lf(e,t){return _f(e,{cloneFunctions:!0,wrapReflectors:!0})}function _f(e,t={}){const n=z(globalThis,"cloneInto");if(!n||typeof window>"u")return e;try{return n(e,window,t)}catch{return e}}function Mn(e){try{const t=window.wrappedJSObject||window;return Object.getOwnPropertyDescriptor(t,e)}catch{return}}function On(e){return e?Br(()=>typeof e.value!="function",!1):!1}function Tf(e){const t=Object.prototype.hasOwnProperty.call(e,"value")||Object.prototype.hasOwnProperty.call(e,"writable"),n=Object.prototype.hasOwnProperty.call(e,"get")||Object.prototype.hasOwnProperty.call(e,"set");if(!t||!n)return e;try{return{configurable:e.configurable,enumerable:e.enumerable,value:e.value,writable:e.writable}}catch{return{configurable:!0,value:void 0,writable:!0}}}const Af="yomu-userscript-storage-request",Pf="yomu-userscript-storage-response",Gr="yomuUserscriptStorageBridge",zr="yomuStorageBridgeOwner",Rf="yomuStorageBridgeKind",Cn={ready:Gr,owner:zr,kind:Rf},Nf="yomuExtensionStorageBridge",$f="extension-storage",If=1e4;let ve;function pt(){if(!Vf())return;ve??(ve=Fr(Rn(De(),Cn,jn())));const e=t=>Mf(t);return{getValue:(t,n)=>e({op:"get",key:t}).then(a=>a.found?a.value:n),setValue:(t,n)=>e({op:"set",key:t,value:n}).then(()=>{}),deleteValue:t=>
2e({op:"delete",key:t}).then(()=>{}),listValues:()=>e({op:"list"}).then(t=>t.keys??[]),clearPrivateManagedValues:()=>e({op:"clear-private-managed"}).then(()=>{}),clearLegacyExtensionManagedValues:()=>jf()?e({op:"clear-legacy-extension-managed",target:$f}).then(()=>{}):Promise.resolve()}}function Vf(){return typeof window>"u"||typeof document>"u"?!1:!!(ve||jn()||Rn(De(),Cn,null))}function jn(){return ef(Of)}function Mf(e){return new Promise((t,n)=>{const a=`yomu-store-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;let r,o=Gf;const i=()=>{window.clearTimeout(l),o()},s=y=>{i(),n(new Error(y))},l=window.setTimeout(()=>{r?It(r)?s("Storage bridge request timed out."):s("Storage bridge authority changed during the request."):s("Installed Yomu storage did not connect; reload to reconnect.")},If),p=y=>{const _=Cf(y);if(!(!_||_.id!==a)){if(!r||!It(r))return s("Storage bridge authority changed during the request.");i(),_.ok?t(_):n(new Error(_.message||"Storage bridge request failed."))}},k=y=>{r=y,o(),o=fa(Pf,p),xf(Af,{id:a,ownerId:y.ownerId,...e})},h=()=>{if(ve)return It(ve)?k(ve):s("Storage bridge authority changed; reload to reconnect."),!0;const y=Rn(De(),Cn,jn());return y?(ve=Fr(y),k(y),!0):!1};h()||(o=fa(Id,()=>{r||h()}))})}function Fr(e){return(e==null?void 0:e.ownerId)===void 0?void 0:e}function It(e){const t=De();return(t==null?void 0:t[Gr])==="true"&&t[zr]===e.ownerId}function Of(){try{return typeof location<"u"&&Xd(location.href)}catch{return!1}}function Cf(e){const t=af(e);if(!t||typeof t!="object")return;const n=t;if(!(typeof n.id!="string"||typeof n.ok!="boolean"))return{id:n.id,ok:n.ok,found:typeof n.found=="boolean"?n.found:void 0,value:n.value,keys:Array.isArray(n.keys)?n.keys.filter(a=>typeof a=="string"):void 0,message:typeof n.message=="string"?n.message:void 0}}function jf(){var e;return((e=De())==null?void 0:e[Nf])==="true"}function fa(e,t){const n=[];gf(e,t)&&n.push(()=>pf(e,t));const a=Ur();return a&&Df(a,e,t)&&n.push(()=>Hf(a,e,t)),()=>{for(const r of n)r()}}function xf(e,t){const n=tf(t);let a=mf(ua(e,n));const r=Ur();return r&&(a=Bf(r,ua(e,n))||a),a}function Ur(){if(!(typeof document>"u"))return document.documentElement instanceof HTMLElement?document.documentElement:void 0}function De(){if(typeof document>"u")return;const e=document.documentElement;return e==null?void 0:e.dataset}function Df(e,t,n){try{return e.addEventListener(t,n),!0}catch{return!1}}function Hf(e,t,n){try{e.removeEventListener(t,n)}catch{}}function Bf(e,t){try{return e.dispatchEvent(t)}catch{return!1}}function Gf(){}const Re=[],ma=new Map;let zf=!1;function Ff(e){const t=Wf(e),n=ma.get(t);if(n!==void 0){const a=Re[n];if(a.owner!==e.owner)throw new Error(`Managed state ${t} has conflicting owners: ${a.owner}, ${e.owner}.`);if(a.enumerate&&e.enumerate&&a.enumerate!==e.enumerate)throw new Error(`Managed state ${t} has conflicting enumerators.`);!a.enumerate&&e.enumerate&&(Re[n]={...a,enumerate:e.enumerate});return}ma.set(t,Re.length),Re.push(e)}function Uf(e){for(const t of e)Ff(t)}function Wf(e){return`${e.kind}:${e.key??""}:${e.prefix??""}`}function Kf(){return Re}function Yf(){return zf}let Jf={};function qf(){return Xf().localDictionaries}function Xf(){return ga(globalThis)??Jf??(typeof window>"u"?void 0:ga(window))??{}}function ga(e){if(!(!e||typeof e!="object"&&typeof e!="function"))try{return e.__yomuCompanions}catch{return}}async function Qf(){var t;const e=(t=qf())==null?void 0:t.enumerateDictionaryArchiveStorageKeys;if(!e)throw new Error("The local-dictionary companion cannot enumerate archive storage.");return e()}const Zf=[{owner:"settings",kind:"gm",key:"jpdb-popup-reader-settings"},{owner:"settings (legacy)",kind:"gm",key:"jpdb-reader-settings"},{owner:"settings (legacy)",kind:"gm",key:"yomu-reader-settings"},{owner:"settings (legacy)",kind:"gm",key:"yomu-settings"},{owner:"settings",kind:"gm",key:"yomu:prefer-japanese-site-language:v1"},{owner:"settings (pre-ledger pins)",kind:"gm",key:"yomu:explicit-user-settings:v1"},{owner:"settings/intent-ledger",kind:"gm",key:"yomu:settings-intent:v2"},{owner:"settings (retired promotion marker; purge only)",kind:"gm",key:"yomu:extension-study-legacy-promotion:v1"},{owner:"settings/dialog-controller",kind:"gm",key:"yomu:private:cloud-settings-sync-pending:v1"},{owner:"settings/dialog-controller (legacy)",kind:"gm",key:"__yomu_cloud_settings_sync_pending_action"},{owner:"app/storage",kind:"gm",key:"yomu:factory-reset-signal"},{owner:"app/storage epoch",kind:"gm",key:"yomu:state-epoch"},{owner:"app/storage epoch slots",kind:"gm",prefix:"yomu:state-slot:v1:"},{owner:"app/storage epoch lease",kind:"gm",prefix:"yomu:state-epoch-lease:v1:"},{owner:"app/managed-web-storage",kind:"local",key:"yomu:web-storage-epoch:v1:local"},{owner:"app/managed-web-storage",kind:"session",key:"yomu:web-storage-epoch:v1:session"},{owner:"app/managed-web-storage",kind:"local",prefix:"yomu:web-storage-slot:v1:"},{owner:"app/managed-web-storage",kind:"session",prefix:"yomu:web-storage-slot:v1:"},{owner:"app/managed-web-storage",kind:"local",prefix:"yomu:web-owner:v2:"},{owner:"app/managed-web-storage",kind:"session",prefix:"yomu:web-owner:v2:"},{owner:"app/storage local provenance",kind:"local",key:"yomu:local-storage-provenance:v1"},{owner:"app/card-state-signal",kind:"gm",key:"yomu:card-state-signal"},{owner:"app/storage leases",kind:"gm",prefix:"yomu:lease:"},{owner:"srs/account-sync",kind:"gm",key:"yomu:private:academy-device:v1"},{owner:"srs/account-sync",kind:"gm",key:"yomu:private:academy-device-pending:v1"},{owner:"app/logger",kind:"gm",key:"yomu:enable-logs"},{owner:"app/main",kind:"local",key:"yomu:jpdb-review-examples-visible:v1"},{owner:"core/hosted-appearance-boot",kind:"local",key:"yomu-page-theme"},{owner:"app/preferred-site-language",kind:"local",key:"yomu:prefer-japanese-site-language"},{owner:"app/preferred-site-language",kind:"session",key:"yomu:jps"},{owner:"app/preferred-site-language",kind:"session",key:"yomu:jps:hosts"},{owner:"srs/local-yomu-store (legacy)",kind:"gm",key:"yomu:srs-local:v1"},{owner:"srs/local-yomu-store",kind:"gm",prefix:"yomu:srs-local:v2:"},{owner:"anki/status-index",kind:"gm",key:"yomu:anki-status-index:v1"},{owner:"anki/status-index",kind:"gm",key:"yomu:anki-status-index-rebuild:v1"},{owner:"anki/status-index",kind:"idb",key:"yomu-anki-status-index"},{owner:"bunpro/word-states",kind:"gm",key:"yomu:bunpro-word-states:v1"},{owner:"jpdb/jpdb-public-cache",kind:"local",key:"yomu:jpdb-cache:v1"},{owner:"dictionaries/jiten-public-cache (legacy)",kind:"gm",key:"yomu:jiten-public-cache:v1"},{owner:"dictionaries/jiten-public-cache",kind:"local",key:"yomu:jiten-public-cache:v2"},{owner:"dictionaries/jiten-stats-cache",kind:"gm",key:"jpdb-reader-jiten-daily-stats"},{owner:"dictionaries/yomitan",kind:"idb",key:"jpdb-popup-reader-yomitan"},{owner:"dictionaries/archive-cache",kind:"gm",key:"yomu-dictionary-archives"},{owner:"dictionaries/archive-cache",kind:"gm",prefix:"yomu-dictionary-archive:",enumerate:Qf},{owner:"dictionaries/replication (legacy)",kind:"local",key:"yomu-dictionary-replication-state"},{owner:"dictionaries/replica-purge",kind:"gm",key:"yomu:dictionary-replica-purge:v1"},{owner:"dictionaries/replica-purge",kind:"local",key:"yomu:dictionary-replica-purged:v1"},{owner:"ocr/ocr-cache-store",kind:"local",key:"yomu-ocr-cache-v1"},{owner:"ocr/ocr-cache-store",kind:"local",key:"yomu-ocr-cache-v2"},{owner:"ocr/canvas-mirror",kind:"session",key:"yomu:bw:mirror-loadguard"},{owner:"ocr/reader-canvas-tap-hint",kind:"gm",prefix:"yomu:private:ocr-canvas-tap-hint-seen:v1:"},{owner:"styles/index",kind:"gm",key:"yomu:reader-css-cache:v3"},{owner:"styles/index (legacy)",kind:"gm",prefix:"yomu:reader-css-cache:v2:"},{owner:"study/grammar-knowledge",kind:"gm",key:"yomu.grammarPreferences.v1"},{owner:"study/grammar-knowledge",kind:"gm",prefix:"yomu.grammarPreferences.v1:"},{owner:"study/mining-context",kind:"gm",prefix:"yomu-mining-context:"},{owner:"dictionaries/uchisen-carousel (retired)",kind:"gm",prefix:"yomu-jpdb-uchisen-index:"},{owner:"popup/shell",kind:"gm",key:"jpdb-reader-sheet-height-ratio"},{owner:"popup/shell",kind:"gm",key:"jpdb-reader-settings-drawer-height-ratio"},{owner:"sources/state",kind:"gm",key:"jpdb-reader-source-open-state"},{owner:"subtitles/subtitle-layout",kind:"gm",key:"jpdb-reader-transcript-panel-size"},{owner:"subtitles/subtitle-layout",kind:"gm",key:"jpdb-reader-subtitle-drag-offset"},{owner:"subtitles/subtitle-layout",kind:"gm",key:"jpdb-reader-subtitle-control-rail-position"},{owner:"subtitles/youtube",kind:"gm",key:"yomu:youtube-all-subscribed:v1"},{owner:"subtitles/youtube",kind:"session",prefix:"yomu:youtube-oembed-title:v1:"},{owner:"subtitles/controller",kind:"session",prefix:"yomu:subtitle-parse:v"},{owner:"study/practice-session",kind:"idb",key:"yomu-practice-sessions-v1"},{owner:"study/practice-session",kind:"session",key:"yomu:practice-session-tab:v1"},{owner:"newtab/state",kind:"gm",key:"jpdb-reader-newtab-ui"},{owner:"newtab/cache",kind:"gm",key:"jpdb-reader-newtab-card-cache"},{owner:"newtab/controller-config",kind:"gm",key:"jpdb-reader-newtab-grade-queue"},{owner:"newtab/grade-queue",kind:"gm",key:"yomu:newtab-live-review:v1"},{owner:"newtab/review-queue-owner",kind:"gm",key:"yomu:private:review-delivery:v2"},{owner:"newtab/packaged-review-queue-client",kind:"session",key:"yomu:review-action-draft:v2"},{owner:"newtab/controller-config",kind:"gm",key:"jpdb-reader-newtab-current-word"},{owner:"newtab/controller-config",kind:"session",key:"jpdb-reader-newtab-current-word"},{owner:"newtab/controller-config",kind:"gm",key:"jpdb-reader-newtab-jpdb-stats-history"},{owner:"newtab/controller-config",kind:"gm",key:"jpdb-reader-newtab-disabled-anki-decks"},{owner:"newtab/session-progress",kind:"local",key:"jpdb-reader-newtab-daily-study-time"},{owner:"newtab/controller",kind:"local",key:"yomu-newtab-support-banner-dismissed"},{owner:"newtab/pitch-srs",kind:"gm",key:"yomu-pitch-items:v1"},{owner:"newtab/pitch-srs",kind:"gm",key:"yomu-pitch-history:v1"}];let pa=!1;function em(){pa||(pa=!0,Uf(Zf))}em();const Z="yomu:state-epoch",Wr=1,ha=Symbol.for("yomu.managed-state-epoch-session.v1"),Vt=Symbol.for("yomu.managed-state-epoch-canonical-session.v1"),tm=Object.freeze({version:1,generation:0,resetId:"legacy",committedAt:0});
2class nn extends Error{constructor(n,a){super(`Managed state belongs to epoch ${H(n)}, but the current epoch is ${H(a)}.`);I(this,"code","YOMU_STALE_MANAGED_STATE_EPOCH");this.expected=n,this.actual=a,this.name="StaleManagedStateEpochError"}}function nm(e){return!!(e&&typeof e=="object"&&e.code==="YOMU_STALE_MANAGED_STATE_EPOCH")}class am{constructor(){I(this,"captured");I(this,"captureInFlight")}current(){return this.captured}async capture(t){return this.captured?this.captured:(this.captureInFlight||(this.captureInFlight=t().then(oe).then(n=>(this.captured=n,n)).finally(()=>{this.captureInFlight=void 0})),this.captureInFlight)}captureSync(t){const n=oe(t);return this.captured??(this.captured=n),this.captured}async assertCurrent(t){const n=await this.capture(t),a=oe(await t());return va(n,a),n}assertCurrentSync(t){const n=this.captureSync(t),a=oe(t);return va(n,a),n}resetForTests(){this.captured=void 0,this.captureInFlight=void 0}}function rm(e=globalThis){const t=e,n=t[ha];if(om(n))return n;const a=new am;return t[ha]=a,t[Vt]??(t[Vt]=a),a}function oe(e){if(e==null)return tm;if(!Yr(e)||e.version!==1||!Number.isSafeInteger(e.generation)||e.generation<1||typeof e.resetId!="string"||!e.resetId.trim()||typeof e.committedAt!="number"||!Number.isFinite(e.committedAt)||e.committedAt<=0)throw new Error("The managed-state epoch is malformed.");return{version:1,generation:e.generation,resetId:e.resetId,committedAt:e.committedAt}}function xn(e,t){return t.generation===0?e:{__yomuManagedStateEnvelope:Wr,epoch:H(t),value:e}}function Kr(e,t,n){return t.generation===0?ya(e)?e.epoch===H(t)?e.value:n:e:ya(e)&&e.epoch===H(t)?e.value:n}function H(e){return`${e.generation}:${e.resetId}`}function an(e,t){return e.generation===t.generation&&e.resetId===t.resetId}function va(e,t){if(!an(e,t))throw new nn(e,t)}function ya(e){return Yr(e)&&e.__yomuManagedStateEnvelope===Wr&&typeof e.epoch=="string"&&Object.hasOwn(e,"value")}function om(e){return!!(e&&typeof e=="object"&&typeof e.current=="function"&&typeof e.capture=="function"&&typeof e.assertCurrent=="function"&&typeof e.resetForTests=="function")}function Yr(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}const x={__yomuStorageValueMissing:!0};function J(e){return e===x?!0:!!(e&&typeof e=="object"&&!Array.isArray(e)&&e.__yomuStorageValueMissing===!0)}async function im(e){const t=await e(Z,x);return J(t)?void 0:t}async function rn(e){return oe(await im(e))}function Dn(e,t){return t.generation===0?e:`${Ir}${encodeURIComponent(H(t))}:${encodeURIComponent(e)}`}async function we(e,t,n){const a=Dn(t,n),r=await e(a,x),o=!J(r),i=o||a===t?r:await e(t,x);if(J(i))return{kind:"missing"};const s=Symbol("unreadable-managed-state"),l=Kr(i,n,s);return l===s?o?{kind:"deleted"}:{kind:"missing"}:J(l)?{kind:"deleted"}:{kind:"found",value:l}}async function Jr(e,t,n,a){const r=await we(e,t,a);return r.kind==="found"?r.value:n}const sm="jpdb-popup-reader-settings";function cm(e){return e===sm}function lm(e,t,n){return e===Or||um(t,n)?!0:dm(e,n)}function pe(){try{return lm(location.origin,location.hostname,location.pathname)}catch{return!1}}function um(e,t){return e==="hrussellzfac023.github.io"&&t.startsWith("/yomu-reader/")}function dm(e,t){return Cr(e)?t.includes("/study/")||t.includes("/newtab/"):!1}let ba;const qr={local:"yomu:web-storage-epoch:v1:local",session:"yomu:web-storage-epoch:v1:session"},fm=mm("local");function mm(e){return{getItem(t){const{storage:n,epoch:a}=Mt(),r=Sa(_e(n,Ot(t,a),`${e}Storage key "${t}"`),a);if(r!==null)return r;const o=Xr(e,t,a);return o?Sa(_e(n,o,`localStorage key "${t}"`),a):null},setItem(t,n){on(t);const{storage:a,epoch:r}=Mt(),o=r.generation===0?n:JSON.stringify(xn(n,r));gm(a,Ot(t,r),o,`${e}Storage key "${t}"`),wa(e,t,r),ka(e,r)},removeItem(t){on(t);const{storage:n,epoch:a}=Mt();Qr(n,Ot(t,a),`${e}Storage key "${t}"`,`${e}Storage retained managed key "${t}".`),wa(e,t,a),ka(e,a)}}}function Xr(e,t,n){if(e!=="local"||!ba||ba==="standalone")return null;const a=Hn("local");return _e(a,qr.local,"localStorage earlier epoch marker")===H(n)?Zr(t,n):null}function wa(e,t,n){const a=pe()?null:Xr(e,t,n);a&&Qr(Hn("local"),a,`localStorage key "${t}"`,`localStorage retained earlier managed key "${t}".`)}function Qr(e,t,n,a){if(pm(e,t,n),_e(e,t,n)!==null)throw new Error(a)}function Sa(e,t){if(e===null||t.generation===0)return e;try{const n=Symbol("unreadable-managed-web-storage"),a=Kr(JSON.parse(e),t,n);
2return typeof a=="string"?a:null}catch{return null}}function Mt(e){throw new Error("Managed web storage has not passed its epoch barrier.")}function ka(e,t){if(_e(Hn(e),qr[e],`${e}Storage epoch marker`)!==H(t))throw new Error(`${e}Storage is not certified for the captured managed-state epoch.`)}function Ot(e,t){return Zr(e,t)}function Zr(e,t){return on(e),t.generation===0?e:`${Vr}${encodeURIComponent(H(t))}:${encodeURIComponent(e)}`}function on(e){if(!Tn(e)||An(e))throw new TypeError(`Managed web storage requires a logical Yomu key, received "${e}".`)}function Hn(e){try{const t=e==="local"?localStorage:sessionStorage;if(!t)throw new Error(`${e}Storage is unavailable.`);return t}catch(t){throw new Error(`${e}Storage is unavailable.`,{cause:t})}}function _e(e,t,n){try{return e.getItem(t)}catch(a){throw new Error(`${n} could not be read.`,{cause:a})}}function gm(e,t,n,a){try{e.setItem(t,n)}catch(r){throw new Error(`${a} could not be written.`,{cause:r})}if(_e(e,t,a)!==n)throw new Error(`${a} failed read-back verification.`)}function pm(e,t,n){try{e.removeItem(t)}catch(a){throw new Error(`${n} could not be removed.`,{cause:a})}}const hm="yomu:state-epoch-lease:v1:",eo="yomu:lease:",vm=5e3,Bn=6e4,ym=20,bm=1500;class Ct extends Error{constructor(n){super(`Storage lease lapsed before it was renewed: ${n}`);I(this,"name","StorageLeaseLapsedError")}}function wm(e){return e instanceof Error&&e.name==="StorageLeaseLapsedError"}const sn=new Set,jt=new Set,xt=new Map;function to(e){for(const t of sn)t.guards(e)&&t.fenceWrite()}async function Sm(e,t,n,a){const r=new km(n.onWait),i=!a.hostedOrigin&&no(a.backend)?n.leaseMs??Bn:void 0;try{return await Pm(e,()=>Em(e,()=>(r.end(),t()),n,a,r),r,i)}finally{r.end()}}class km{constructor(t){I(this,"state","running");I(this,"timer");this.onWait=t}blocked(){!this.onWait||this.state!=="running"||(this.state="blocked",this.timer=setTimeout(()=>{var t;this.state="told",(t=this.onWait)==null||t.call(this,!0)},bm))}passed(){this.state==="blocked"&&(clearTimeout(this.timer),this.state="running")}end(){var t;clearTimeout(this.timer),this.state==="told"&&((t=this.onWait)==null||t.call(this,!1)),this.state="ended"}}async function Em(e,t,n,a,r){const{getValue:o}=a.backend,i=await a.captureEpoch(o);await a.assertMutationFence(o,i);const s=no(a.backend);if(!s){const p=await t();return await a.assertMutationFence(o,i),p}const l=Dt(n.leaseMs,Bn,1e3,10*6e4);return new Lm({guards:n.guards,prefix:`${eo}${ro(e)}:`,epoch:a.epochToken(i),io:s,fence:()=>a.assertMutationFence(o,i),leaseMs:l,pollMs:Dt(n.pollMs,20,1,1e3),timeoutMs:Dt(n.timeoutMs,9e4,l,15*6e4),timeoutMessage:`Timed out waiting for storage lease: ${e}`,wait:r}).run(t)}function no(e){const{getValue:t,setValue:n,deleteValue:a,listValues:r}=e;return[t,n,a,r].every(Boolean)?e:null}class Lm{constructor(t){I(this,"key");I(this,"startedAt",Date.now());I(this,"promptLandingMs");I(this,"claim");I(this,"liveUntil",0);I(this,"roundTripMs",0);this.lease=t;const n=cn();this.key=`${t.prefix}${n}`,this.promptLandingMs=Math.min(1e3,Math.floor(t.leaseMs/5)),this.claim={version:1,claimId:cn(),owner:n,epoch:t.epoch,choosing:!0,ticket:0,leaseUntil:0}}async run(t){jt.add(this.claim.owner);try{return await this.waitForTurn(),await this.hold(t)}finally{const{getValue:n,deleteValue:a}=this.lease.io;try{await La(this.key,this.claim,n,a)}catch(r){Ht("GM storage lease release failed",this.key,r)}jt.delete(this.claim.owner)}}leaseMs(){const{leaseMs:t}=this.lease;return Math.min(t+ym*this.roundTripMs,Math.max(t,Bn))}live(){return Date.now()+Math.max(this.promptLandingMs,2*this.roundTripMs)<this.liveUntil}async waitForTurn(){var n;const{lease:t}=this;for(;;){if(await t.fence(),Date.now()-this.startedAt>=t.timeoutMs)throw new Error(t.timeoutMessage);try{this.live()?this.liveUntil-Date.now()<=this.leaseMs()/2&&await this.writeClaim():await this.queue()}catch(r){if(r instanceof Ct)continue;throw r}const a=await this.claimsAhead();if(!a.length&&this.live())return;a.some(r=>!jt.has(r.owner))&&((n=t.wait)==null||n.blocked()),await _m(t.pollMs)}}async queue(){const{prefix:t,epoch:n,io:{listValues:a,getValue:r}}=this.lease;await this.writeClaim({choosing:!0,ticket:0},!0);const i=(await Ea(t,a,r,n,Date.now())).reduce((s,l)=>Math.max(s,l.ticket),0);await this.writeClaim({choosing:!1,ticket:i+1})}async claimsAhead(){const{prefix:t,epoch:n,io:{listValues:a,getValue:r}}=this.lease,{owner:o,ticket:i}=this.claim;return(await Ea(t,a,r,n,Date.now())).filter(l=>l.owner!==o&&(l.choosing||l.ticket<i||l.ticket===i&&l.owner.localeCompare(o)<0))}async writeClaim(t={},n=!1){const{getValue:a,setValue:r}=this.lease.io;if(!n&&!this.live())throw new Ct(this.key);const o=Date.now(),i={...this.claim,...t,leaseUntil:o+this.leaseMs()};this.claim=i;try{await r(this.key,i);const s=Date.now();this.liveUntil=i.leaseUntil,await He(this.key,i,a),this.roundTripMs=Tm(s-o,Date.now()-s,this.lease.leaseMs)}catch(s){throw await this.rollBack(),s}}async rollBack(){const{getValue:t,deleteValue:n}=this.lease.io;await La(this.key,this.claim,t,n).catch(a=>{Ht("GM storage lease rollback failed",this.key,a)})}async renew(t,n){n||await He(this.key,this.claim,this.lease.io.getValue);do await this.writeClaim();while(t());await this.lease.fence().catch(async a=>{throw await this.rollBack(),a})}async hold(t){const{lease:n,key:a}=this,{getValue:r}=n.io,o=Math.max(250,Math.floor(n.leaseMs/3));let i=!0,s,l=!1,p;const k=()=>i&&this.liveUntil-Date.now()<=this.leaseMs()*5/6,h=(V=!1)=>
2{s||p||!k()||(p=this.renew(k,V).catch(j=>{s??(s={error:j}),Ht("GM storage lease renewal failed",a,j)}).finally(()=>{p=void 0}))},y=n.guards&&{guards:n.guards,fenceWrite:()=>{if(!s&&!this.live()&&(s={error:new Ct(a)}),s)throw l=!0,s.error;h()}};y&&sn.add(y);const _=setInterval(()=>h(),o);h(!0);let R;try{await n.fence(),await He(a,this.claim,r);const V=await t();await n.fence(),await He(a,this.claim,r),R={value:V}}catch(V){R={error:V}}finally{i=!1,y&&sn.delete(y),clearInterval(_),await p}if("error"in R)throw R.error;if(s&&(!y||l))throw s.error;return R.value}}async function Ea(e,t,n,a,r){const o=(await t()).filter(s=>s.startsWith(e));return(await Promise.all(o.map(s=>n(s,null)))).flatMap(s=>{const l=Gn(s);return l&&l.epoch===a&&l.leaseUntil>r?[l]:[]})}function Gn(e){return!Nm(e)||e.version!==1||typeof e.owner!="string"||e.claimId!==void 0&&typeof e.claimId!="string"||e.epoch!==void 0&&typeof e.epoch!="string"||typeof e.choosing!="boolean"||!Number.isSafeInteger(e.ticket)||e.ticket<0||!Number.isSafeInteger(e.leaseUntil)?null:{version:1,claimId:e.claimId||e.owner,owner:e.owner,epoch:e.epoch||"0:legacy",choosing:e.choosing,ticket:e.ticket,leaseUntil:e.leaseUntil}}async function He(e,t,n){const a=Gn(await n(e,null));if(!a||!ao(a,t))throw new Error(`Storage lease ownership was lost: ${e}`)}async function La(e,t,n,a){const r=Gn(await n(e,null));r&&ao(r,t)&&await a(e)}function ao(e,t){return e.claimId===t.claimId&&e.owner===t.owner&&e.epoch===t.epoch}function ro(e){const t=e.trim().replaceAll(/[^a-z0-9._-]+/giu,"-").slice(0,80);if(!t)throw new TypeError("Storage lease name is required.");return t}function Dt(e,t,n,a){if(e===void 0)return t;if(!Number.isSafeInteger(e)||e<n||e>a)throw new TypeError("Invalid storage lease option.");return e}function _m(e){return new Promise(t=>setTimeout(t,e))}function Tm(e,t,n){const a=Math.max(e,t);return a<=n/4?a:Math.min(e,t)}function Am(){return typeof navigator>"u"?void 0:navigator.locks}async function Pm(e,t,n,a){const r=Am();if(!r)return t();const o=`yomu:${ro(e)}`;_a(o,1)||n==null||n.blocked();try{return await Rm(r,o,()=>(n==null||n.passed(),t()),a)}finally{_a(o,-1)}}function _a(e,t){const n=xt.get(e)??0;return n+t>0?xt.set(e,n+t):xt.delete(e),n}async function Rm(e,t,n,a){if(a===void 0)return e.request(t,{},n);const r=new AbortController,o=setTimeout(()=>r.abort(),a);let i=!1;try{return await e.request(t,{signal:r.signal},()=>(i=!0,clearTimeout(o),n()))}catch(s){if(i)throw s;return n()}finally{clearTimeout(o)}}function Nm(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function cn(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function Ht(e,t,n){typeof console<"u"&&console.debug("[Yomu] Storage",e,{key:t,error:n})}const $m=new Set(["yomu:factory-reset-signal",Z,"yomu:local-storage-provenance:v1","__yomu_cloud_settings_sync_pending_action"]);function Im(e){return Tn(e)&&!Td(e)&&!An(e)&&!e.startsWith(hm)&&!e.startsWith(eo)&&!$m.has(e)}function q(e,t){try{const n=localStorage.getItem(e);return n==null?t:JSON.parse(n)}catch{return t}}function Vm(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function oo(e){try{localStorage.removeItem(e)}catch{}}function Mm(e){try{sessionStorage.removeItem(e)}catch{}}function Om(e,t){try{return e.getItem(t)!==null}catch{return!1}}function io(e,t){try{const n=JSON.stringify(t);if(n===void 0)throw new Error("value is not JSON-serializable");if(localStorage.setItem(e,n),localStorage.getItem(e)!==n)throw new Error("read-back did not match");return n}catch(n){throw ee(e,"localStorage write failed",n)}}function ee(e,t,...n){const a=n.map(r=>r instanceof Error?r.message:String(r)).filter(Boolean).join("; ");return new Error(`${t} for "${e}"${a?`: ${a}`:""}`)}const et="jpdb-popup-reader-settings",so=["jpdb-reader-settings","yomu-reader-settings","yomu-settings","yomu:explicit-user-settings:v1"],Cm="yomu:settings-intent:v2",jm="yomu:prefer-japanese-site-language:v1",xm="yomu:prefer-japanese-site-language",Dm=new Set([et,...so,Cm,jm,xm]);function ht(e){return Dm.has(e)}const Ta=["showFurigana","furiganaMode","showPitchAccent","wordUnderlineColorSource","subtitlePlayerEnabled","subtitleAutoDetect","subtitleOverlayVisible","subtitleControlsMode","subtitleTranscriptVisible","ocrEnabled","ocrVideoPauseFrames","ocrProvider","ocrOverlayTheme","preferJapaneseSiteLanguage"],Hm={
2showFurigana:!0,furiganaMode:"all",showPitchAccent:!0,wordUnderlineColorSource:"pitch",subtitlePlayerEnabled:!0,subtitleAutoDetect:!0,subtitleOverlayVisible:!0,subtitleControlsMode:"always",subtitleTranscriptVisible:!1,ocrEnabled:!0,ocrVideoPauseFrames:!0,ocrProvider:"google-lens",ocrOverlayTheme:"auto",preferJapaneseSiteLanguage:!1},Bm={showFurigana:!0,furiganaMode:"all",showPitchAccent:!0},Aa={interfaceLanguage:new Set(["auto","en","ja"]),theme:new Set(["auto","dark","light"])},Gm=/^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/iu;function zm(e){const t=Object.entries(e).filter(([n,a])=>n!=="learningTargetChosen"||a!==!1);return t.every(co)||Pa(e,t,Bm)||Pa(e,t,Hm)}function Fm(e){let t;try{t=JSON.parse(e)}catch{return!1}return typeof t=="object"&&t!==null&&!Array.isArray(t)&&zm(t)}function Pa(e,t,n){return Object.entries(n).every(([a,r])=>e[a]===r)&&t.every(a=>Object.hasOwn(n,a[0])||co(a))}function co([e,t]){return e==="accentColor"?typeof t=="string"&&Gm.test(t):Object.hasOwn(Aa,e)&&Aa[e].has(t)}function Te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Fe="yomu:local-storage-provenance:v1",Um="yomu:prefer-japanese-site-language:v1";function tt(e){try{const t=localStorage.getItem(e),n=vt()[e];return{serializedValue:t,provenance:n?{...n}:null}}catch(t){throw ee(e,"Local fallback read failed",t)}}function ln(e,t){return!!(t&&e.serializedValue===t.serializedValue&&Wm(e.provenance,t.provenance))}function Wm(e,t){return e===null?t===null:t!==null&&e.epoch===t.epoch&&e.fingerprint===t.fingerprint}function lo(e,t){try{if(t.serializedValue===null?localStorage.removeItem(e):localStorage.setItem(e,t.serializedValue),localStorage.getItem(e)!==t.serializedValue)throw new Error("read-back did not match")}catch(n){throw ee(e,"Local fallback restore failed",n)}Fn(e,t.provenance,!0)}function uo(e,t,n){const a=tt(e);try{const r=io(e,t);Fn(e,{epoch:H(n),fingerprint:mo(r)},!0)}catch(r){try{lo(e,a)}catch(o){throw new AggregateError([r,o],`Local fallback publication and rollback failed for "${e}".`)}throw r}}function Km(e){oo(e),Mm(e),Fn(e,null)}function Ym(e,t,n,a){if(!n)return Km(e);if(!a)throw ee(e,"Managed storage cannot restore its localStorage fallback");uo(e,t,a)}function zn(e,t){const n=fo(e);if(n===null)return!1;const a=vt()[e];return a?a.epoch===H(t)&&a.fingerprint===mo(n):t.generation===0}function Jm(e,t,n){const a=fo(e);if(a===null)return!1;const r=vt()[e];return r?r.epoch===H(t):t.generation===0||n(a)}function Fn(e,t,n=!1){const a=vt();qm(a,e,t)&&Xm(a,n)}function qm(e,t,n){return n?(e[t]=n,!0):t in e?(delete e[t],!0):!1}function Xm(e,t){if(Object.keys(e).length){const n={version:1,values:e};t?io(Fe,n):Vm(Fe,n);return}oo(Fe)}function vt(){const e=q(Fe,null);if(!Qm(e))return{};const t={};for(const[n,a]of Object.entries(e.values)){const r=Zm(a);r&&(t[n]=r)}return t}function Qm(e){return!Te(e)||e.version!==1?!1:Te(e.values)}function Zm(e){return!Te(e)||typeof e.epoch!="string"||typeof e.fingerprint!="string"?null:{epoch:e.epoch,fingerprint:e.fingerprint}}function fo(e){if(e===Um)return null;try{return localStorage.getItem(e)}catch{return null}}function mo(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return`${e.length}:${(t>>>0).toString(16).padStart(8,"0")}`}const Un="jpdb-popup-reader-settings",Wn="yomu:settings-intent:v2",eg="yomu:srs-local:v2:index",tg=[eg,"yomu:prefer-japanese-site-language:v1",Wn,Un],ng=["__yomuSettingsPersistenceTransactionV1","__yomuSettingsPersistenceCommitV1"],ag="__yomuHostedPendingGmPatch",rg="yomu:web-owner:v2:";let X;function go(e,t){return pe()&&cg(e)&&zn(e,t)}function og(e,t,n){const a=H(t);if((X==null?void 0:X.token)===a)return X.done;const r=ig(e,t,n).finally(()=>{(X==null?void 0:X.done)===r&&(X=void 0)});return X={token:a,done:r},r}async function ig(e,t,n){if(!pe())return;const a=await we(e,Un,t);if(a.kind==="found"&&!ug(a.value))return;const r=a.kind==="missing"&&(await we(e,Wn,t)).kind==="missing";for(const o of sg(t)){if(ht(o)&&!r||(await we(e,o,t)).kind!=="missing")continue;const i=q(o,x);J(i)||await n(o,lg(o,i))}}function sg(e){const t=[];for(let a=0;a<localStorage.length;a++){const r=localStorage.key(a);r&&go(r,e)&&t.push(r)}const n=a=>tg.indexOf(a);return t.sort((a,r)=>n(a)-n(r)||a.localeCompare(r))}function cg(e){return Im(e)&&!e.startsWith(rg)&&!so.includes(e)&&Kf().some(t=>t.kind==="gm"&&(t.key===e||t.prefix!==void 0&&e.startsWith(t.prefix)))}function lg(e,t){if(!Te(t))return t;
2const n=Bt(t,ng);return e===Un?Bt(n,[ag,...Ta]):e===Wn&&Te(n.records)?{...n,records:Bt(n.records,Ta)}:n}function Bt(e,t){const n={...e};for(const a of t)delete n[a];return n}function ug(e){return Te(e)&&e.learningTargetChosen===!1}class dg{constructor(t,n){I(this,"receipts",new Map);I(this,"active",[]);I(this,"open",!0);this.storage=t,this.preserveLocalFallbackOnWriteFailure=n}async capture(t){const n=this.receipts.get(t);if(n)return n;const a=await this.storage.readAuthority(t),r=_g(t)?tt(t):void 0,o={key:t,previous:a,authorityTarget:a,localTarget:r?a:{existed:!1,value:null},localBefore:r,stagedAuthority:[],stagedLocal:[],interrupted:!1,restoreCapturedLocal:!0,active:!1};return this.receipts.set(t,o),o}adoptInterrupted(t,n,a=n){const r=t;r.authorityTarget=n,r.localTarget=a,r.interrupted=!0,r.restoreCapturedLocal=!!(r.localBefore&&r.localBefore.serializedValue!==(r.previous.existed?JSON.stringify(r.previous.value):null)),r.localBefore&&Na(r,r.localBefore,r.previous),this.activate(r)}async write(t,n){const a=t;this.activate(a);const r={existed:!0,value:n};a.stagedAuthority.push(n);try{await this.storage.writeAuthority(a.key,n,this.preserveLocalFallbackOnWriteFailure)}finally{a.localBefore&&Na(a,tt(a.key),r)}}async restore(t,n){const a=t;this.activate(a);const r=await po(this.storage,a,this.preserveLocalFallbackOnWriteFailure);if(r.length)throw new AggregateError(r,n)}commit(){this.open=!1}async rollback(t,n=!1){if(!this.open)return;this.open=!1;const a=await Ra(this.storage,this.active,n,this.preserveLocalFallbackOnWriteFailure);if(a.length)throw new AggregateError(a,`${t} for ${a.length} operation(s).`)}async reject(t,n,a=!1){if(!this.open)throw t;this.open=!1;const r=await Ra(this.storage,this.active,a,this.preserveLocalFallbackOnWriteFailure);throw r.length?new AggregateError([t,...r],`${n} and ${r.length} rollback operation(s) also failed.`):t}activate(t){if(!this.open)throw new Error("Managed storage write journal is already closed.");t.active||(t.active=!0,this.active.push(t))}}function fg(e,t=!1){return new dg(e,t)}async function Ra(e,t,n,a){const r=[];let o=!1;for(let i=t.length-1;i>=0;i--){if(o){const l=t[i];if(l.restoreCapturedLocal){const p=ho(l,r);vo(e,l,p,r)}continue}const s=await po(e,t[i],a);r.push(...s),n&&s.length&&(o=!0)}return r}async function po(e,t,n){const a=[];await mg(e,t,n,a);const r=ho(t,a);return vo(e,t,r,a),a}function ho(e,t){if(e.localBefore)try{return tt(e.key)}catch(n){t.push(n);return}}async function mg(e,t,n,a){const r=await hg(e,t.key,a);if(r&&gg(t,r,n)){if(!pg(t,r)){a.push(yo(t.key,"Managed storage value"));return}await vg(e,t,a)}}function gg(e,t,n){return n||!yt(t,e.authorityTarget)}function pg(e,t){return yt(t,e.authorityTarget)||Eg(e,t)}async function hg(e,t,n){try{return await e.readAuthority(t)}catch(a){n.push(a);return}}async function vg(e,t,n){try{await e.restoreAuthority(t.key,t.authorityTarget)}catch(a){n.push(a)}}function vo(e,t,n,a){try{yg(e,t,n)}catch(r){a.push(r)}}function yg(e,t,n){if(!t.localBefore)return bg(e,t);if(n){if(wg(e,t,n),t.restoreCapturedLocal)return lo(t.key,t.localBefore);e.restoreLocalTarget(t.key,t.localTarget)}}function bg(e,t){t.interrupted||e.restoreLocalTarget(t.key,t.localTarget)}function wg(e,t,n){if(!Sg(e,t,n))throw yo(t.key,"Local fallback value")}function Sg(e,t,n){return kg(t,n)?!0:t.interrupted&&yt(e.readLocalTarget(t.key),t.localTarget)}function kg(e,t){return!!(e.localBefore&&ln(t,e.localBefore))||e.stagedLocal.some(n=>ln(t,n))}function Eg(e,t){return yt(t,e.previous)?!0:t.existed&&e.stagedAuthority.some(n=>Kn(t.value,n))}function Na(e,t,n){Lg(t,n)&&(e.stagedLocal.some(a=>ln(a,t))||e.stagedLocal.push(t))}function Lg(e,t){if(!t.existed)return e.serializedValue===null;if(e.serializedValue===null)return!1;try{return Kn(JSON.parse(e.serializedValue),t.value)}catch{return!1}}function _g(e){return!ht(e)||pe()}function yt(e,t){return e.existed===t.existed&&(!e.existed||Kn(e.value,t.value))}function Kn(e,t){if(Object.is(e,t))return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function yo(e,t){return new Error(`${t} "${e}" changed after staging; rollback left the newer value intact.`)}
2function ce(){if(ae())return null;const e=bt();if(e)return e;const t=pt();return t?(n,a)=>t.getValue(n,a):null}function bt(){return ae()?null:Ag()??Tg()??Wg()}function Tg(){return typeof GM_getValue=="function"?GM_getValue:null}function Ag(){var t;const e=(t=globalThis.GM)==null?void 0:t.getValue;return typeof e=="function"?e.bind(globalThis.GM):null}function nt(){if(ae())return null;const e=Pg();return e||(bt()?null:Ig())}function Pg(){return ae()?null:Rg()??Ng()??$g()}function Rg(){return typeof GM_setValue=="function"?GM_setValue:null}function Ng(){var t;const e=(t=globalThis.GM)==null?void 0:t.setValue;return typeof e=="function"?e.bind(globalThis.GM):null}function $g(){const e=wt();return e?(t,n)=>e.set({[t]:n}):null}function Ig(){const e=pt();return e?(t,n)=>e.setValue(t,n):null}function bo(){if(ae())return null;const e=Vg();return e||(bt()?null:jg())}function Vg(){return ae()?null:Mg()??Og()??Cg()}function Mg(){return typeof GM_deleteValue=="function"?GM_deleteValue:null}function Og(){var t;const e=(t=globalThis.GM)==null?void 0:t.deleteValue;return typeof e=="function"?e.bind(globalThis.GM):null}function Cg(){const e=wt();return e?t=>e.remove(t):null}function jg(){const e=pt();return e?t=>e.deleteValue(t):null}function xg(){if(ae())return null;const e=Dg();return e||(bt()?null:zg())}function Dg(){return Bg()??Hg()??Gg()}function Hg(){if(typeof GM_listValues=="function")return GM_listValues;const e=globalThis.GM_listValues;return typeof e=="function"?e:null}function Bg(){var t;const e=(t=globalThis.GM)==null?void 0:t.listValues;return typeof e=="function"?e.bind(globalThis.GM):null}function Gg(){const e=wt();return e?async()=>e.getKeys?e.getKeys():Object.keys(await e.get(null)):null}function zg(){const e=pt();return e?()=>e.listValues():null}function wt(){return Fg(e=>{var t;return(t=e.storage)==null?void 0:t.local})}function Fg(e){const t=globalThis;return $a(t.browser,e)??$a(t.chrome,e)??null}function $a(e,t){var n;return(n=e==null?void 0:e.runtime)!=null&&n.id?t(e):void 0}
2function ae(){return Ug()?!(globalThis.__YOMU_EXTENSION_STUDY_STORAGE_RUNTIME__===!0)||typeof GM_getValue!="function"||typeof GM_setValue!="function":!1}function Ug(){var e;try{const t=((e=globalThis.location)==null?void 0:e.protocol)??"";return/^(?:chrome|moz|safari-web)-extension:$/.test(t)}catch{return!1}}function Wg(){const e=wt();return e?Kg(e):null}function Kg(e){return async(t,n)=>{const a=(await e.get(t))[t];return a===void 0?n:a}}const Ia="yomu:factory-reset-signal",Me=rm();async function U(e){const t=e?async()=>{const a=await rn(e);return a.generation===0?void 0:a}:async()=>q(Z,void 0);return await Me.assertCurrent(t)}async function wo(e,t,n,a,r){await dn(a,n);const o=xn(t,n),i=Dn(e,n);to(e),await r(i,o),await dn(a,n)}async function Yg(e,t,n,a,r){const o=Dn(e,t);if(to(e),o===e){if(!r)throw new Error("Managed storage cannot delete its legacy value.");await r(e),await U(n);return}if(!a)throw new Error("Managed storage cannot persist a deletion tombstone.");if(await a(o,xn(x,t)),await U(n),r){try{await r(e)}catch(i){St("Managed GM logical-key delete mirror failed",e,i)}await U(n)}}function Jg(e){const t=e(Z,x);if(Pd(t))return Promise.resolve(t).catch(a=>St("Synchronous epoch probe could not read async storage",Z,a)),null;const n=oe(J(t)?void 0:t);return Me.assertCurrentSync(n.generation===0?void 0:n),n}function So(){try{const e=typeof GM_getValue=="function"?GM_getValue:null;if(e){const t=Jg(e);return t||(Me.current()??null)}return ce()?Me.current()??null:Me.assertCurrentSync(q(Z,void 0))}catch(e){return St("Managed state epoch sync read failed",Z,e),null}}function qg(){return ce()!==null}function Xg(e,t){const n=So();return!n||!zn(e,n)?t:q(e,t)}async function ko(e,t){const n=ce();if(!n)return ae()?t:Zg(e,t,await U(null));const a=await U(n);return Qg(n,e,t,a)}async function Eo(e,t){const n=ce();if(!n)return t;const a=await U(n);return Jr(n,e,t,a)}async function Qg(e,t,n,a){const r=await we(e,t,a);if(r.kind==="found")return r.value;if(r.kind==="deleted"||!go(t,a))return n;await og(e,a,_o).catch(i=>St("Website-only store adoption failed",t,i));const o=await we(e,t,a);return o.kind==="found"?o.value:n}function Lo(e,t,n){const a=zn(e,n)?q(e,x):x;return J(a)?t:a}function Zg(e,t,n){if(!ep(e))return Lo(e,t,n);if(!Jm(e,n,Fm))throw ee(e,"Hosted settings localStorage is present without matching provenance");return q(e,t)}function ep(e){return cm(e)&&pe()&&Om(localStorage,e)}async function tp(e,t,n={}){return Sm(e,t,n,{backend:np(),captureEpoch:U,assertMutationFence:dn,epochToken:H,hostedOrigin:pe()})}function np(){return{getValue:ce(),setValue:nt(),deleteValue:bo(),listValues:xg()}}async function _o(e,t){const n=ce(),a=nt();if(a)return ap(e,t,n,a);if(n)throw ee(e,"Installed storage has no writer");if(ae())throw ee(e,"Packaged Study storage adapter is unavailable");const r=await U(null);uo(e,t,r)}async function ap(e,t,n,a){let r;try{if(!n)throw new Error("Managed storage cannot validate its state epoch.");r=await U(n),await wo(e,t,r,n,a)}catch(o){throw nm(o)||wm(o)?o:ee(e,"GM storage write failed",o)}}const rp={readAuthority:ip,writeAuthority:(e,t)=>_o(e,t),restoreAuthority:(e,t)=>sp(e,t.value,t.existed),readLocalTarget:e=>un(Xg(e,x)),restoreLocalTarget:(e,t)=>cp(e,t.value,t.existed)};function op(e=!1){return fg(rp,e)}async function ip(e){if(ht(e)){const r=pe()?await ko(e,x):await Eo(e,x);return un(r)}const t=ce(),n=await U(t),a=t?await Jr(t,e,x,n):Lo(e,x,n);return un(a)}function un(e){return{existed:!J(e),value:J(e)?null:e}}
2async function sp(e,t,n){const a=ce();if(!a)return;const r=await U(a);if(n){const o=nt();if(!o)throw ee(e,"Managed storage cannot restore its authoritative value");await wo(e,t,r,a,o);return}await Yg(e,r,a,nt(),bo())}function cp(e,t,n){Ym(e,t,n,So())}function lp(e){const t=typeof e=="string"?gp(e):e;if(!fp(t))return null;const n=t;return mp(n.phase)?{id:n.id,phase:n.phase,at:up(n.at),href:dp(n.href)}:null}function up(e){return typeof e=="number"&&Number.isFinite(e)?e:Date.now()}function dp(e){return typeof e=="string"?e:""}function fp(e){var t;return!!(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.id=="string"&&((t=e.id)!=null&&t.trim()))}function mp(e){return e==="prepare"||e==="complete"}function gp(e){try{return JSON.parse(e)}catch{return null}}async function dn(e,t){const n=e?await rn(e):oe(q(Z,void 0));if(!an(t,n))throw new nn(t,n);const a=e?await e(Ia,x):q(Ia,x),r=J(a)?null:lp(a);if((r==null?void 0:r.phase)==="prepare"||Yf())throw new Error("Managed state writes are suppressed during factory reset.");const o=e?await rn(e):oe(q(Z,void 0));if(!an(t,o))throw new nn(t,o)}function St(e,t,n){typeof console<"u"&&console.debug("[Yomu] Storage",e,{key:t,error:n})}const To=24*60*60*1e3,pp=3,Ao=6,hp=14*To,vp=30*To,Ne=new Map;function yp(e){const t=Po(e.storage);if(!t)return!1;const n=Ro(e),a=Ne.get(n);if(a!==void 0)return a;const r=No(e),o=$o(t,e.storageKey,e.version);if(o.dismissedUntil>r)return Ne.set(n,!1),!1;o.visits+=1;const i=Math.max(0,Math.floor(e.firstQuietVisits??pp))+1;o.nextEligibleVisit=Math.max(o.nextEligibleVisit,i);const s=o.visits>=o.nextEligibleVisit&&o.hiddenUntil<=r;return s&&(o.lastShownAt=r,o.hiddenUntil=r+Math.max(0,e.impressionCooldownMs??hp),o.nextEligibleVisit=o.visits+Math.max(1,Math.floor(e.visitInterval??Ao))),Io(t,e.storageKey,o)?(Ne.set(n,s),s):(Ne.set(n,!1),!1)}function bp(e){const t=Po(e.storage),n=Ro(e);if(Ne.set(n,!1),!t)return;const a=No(e),r=$o(t,e.storageKey,e.version),o=Math.max(0,e.dismissMs??vp),i=Math.max(1,Math.floor(e.visitInterval??Ao));r.dismissedUntil=a+o,r.hiddenUntil=Math.max(r.hiddenUntil,r.dismissedUntil),r.nextEligibleVisit=Math.max(r.nextEligibleVisit,r.visits+i),Io(t,e.storageKey,r)}function Po(e){if(e!==void 0)return e;try{return typeof localStorage>"u"?null:fm}catch{return null}}function Ro(e){return`${e.storageKey} 3${e.version}`}function No(e){return typeof e.now=="number"&&Number.isFinite(e.now)?e.now:Date.now()}function $o(e,t,n){try{const a=e.getItem(t);if(!a)return Gt(n);const r=JSON.parse(a);return!r||r.version!==n?Gt(n):{version:n,visits:Va(r.visits),nextEligibleVisit:Va(r.nextEligibleVisit),hiddenUntil:zt(r.hiddenUntil),dismissedUntil:zt(r.dismissedUntil),lastShownAt:zt(r.lastShownAt)}}catch{return Gt(n)}}function Io(e,t,n){try{return e.setItem(t,JSON.stringify(n)),!0}catch{return!1}}function Gt(e){return{version:e,visits:0,nextEligibleVisit:0,hiddenUntil:0,dismissedUntil:0,lastShownAt:0}}function Va(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function zt(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0}const wp="__yomuHostedRuntimeGraph",Sp=/^greasyfork\/[a-z\d][a-z\d.-]*\.([a-f\d]{12})\.user\.js$/u,Ma="yomu.user.js",Vo=/^sha256-([A-Za-z\d+/]{43}=)$/u,kp=new Set(["error","loaded","loading"]),Be=new WeakMap;function Ep(e=globalThis){const t=e[wp],n=Yn(t,"Hosted runtime graph is missing or unsupported.");if(n.schemaVersion!==1)throw new Error("Hosted runtime graph is missing or unsupported.");const a=Rp(n.dependencies),r=$p(n.core,n.revision),o=[...a.map(i=>i.path),r.path];if(new Set(o).size!==o.length)throw new Error("Hosted runtime graph paths must be unique.");return Object.freeze({revision:r.pathHash,scripts:Object.freeze([...a.map(({pathHash:i,...s})=>Object.freeze(s)),Object.freeze({integrity:r.integrity,path:r.path,role:"core"})])})}function Lp(e){const t=e.document??document,n=Be.get(t);if(n)return n;const a=Ep(e.realm),r=_p(a,t,e);return Be.set(t,r),r.catch(()=>{Be.get(t)===r&&Be.delete(t)}),r}async function _p(e,t,n){const a=[];for(const[o,i]of e.scripts.entries()){const s=`${n.scriptIdPrefix}-${i.role}-${o}`,l=n.resolveCandidates(i);a.push(await Tp(t,s,i,l))}const r=a.at(-1);if(!(r instanceof HTMLScriptElement)||r.dataset.yomuHostedRuntimeRole!=="core")throw new Error("Hosted runtime graph did not finish with core.");return Object.freeze({core:r,scripts:Object.freeze(a)})}async function Tp(e,t,n,a){for(const r of Ip(a,n.role))try{return await Ap(e,t,r,n)}catch{Vp(e,t,r,n)}throw new Error(`Hosted runtime ${n.role} failed integrity or network loading.`)}function Ap(e,t,n,a){const r=Pp(e,t,n,a);if(r)return r;const o=e.createElement("script");return o.id=t,o.async=!1,o.crossOrigin="anonymous",o.integrity=a.integrity,o.src=n,o.dataset.yomuHostedRuntimeRole=a.role,o.dataset.yomuHostedRuntimeState="loading",(e.head??e.documentElement).append(o),Mo(o)}function Pp(e,t,n,a){const r=e.getElementById(t);if(r){if(!(r instanceof HTMLScriptElement))throw new Error(`Hosted runtime script id ${t} is already owned by another element.`);if(!Oo(e,r,n,a))throw new Error(`Hosted runtime script id ${t} does not match the requested asset.`);return Mo(r)}}function Mo(e){return e.dataset.yomuHostedRuntimeState==="loaded"?Promise.resolve(e):e.dataset.yomuHostedRuntimeState==="error"?Promise.reject(new Error("Hosted runtime script failed.")):new Promise((t,n)=>{e.addEventListener("load",()=>{e.dataset.yomuHostedRuntimeState="loaded",t(e)},{once:!0}),e.addEventListener("error",()=>{e.dataset.yomuHostedRuntimeState="error",n(new Error("Hosted runtime script failed."))},{once:!0})})}function Rp(e){if(!Array.isArray(e)||e.length===0)throw new Error("Hosted runtime graph has no depen
3dencies.");return e.map((t,n)=>Np(t,n))}function Np(e,t){const n=Yn(e,`Hosted runtime dependency ${t} is invalid.`),a=at(n.path,`Hosted runtime dependency ${t} path is invalid.`),r=Sp.exec(a);if(!r)throw new Error(`Hosted runtime dependency ${t} path is unsafe.`);const o=r[1],i=Co(n.integrity,`Hosted runtime dependency ${t} integrity is invalid.`);if(jo(i)!==o)throw new Error(`Hosted runtime dependency ${t} filename and integrity disagree.`);return{integrity:i,path:a,pathHash:o,role:"dependency"}}function $p(e,t){const n=Yn(e,"Hosted runtime core is invalid.");if(at(n.path,"Hosted runtime core path is invalid.")!==Ma)throw new Error("Hosted runtime core path is invalid.");const r=Co(n.integrity,"Hosted runtime core integrity is invalid."),o=at(t,"Hosted runtime revision is invalid.");if(!/^[a-f\d]{12}$/u.test(o))throw new Error("Hosted runtime revision is invalid.");if(jo(r)!==o)throw new Error("Hosted runtime core revision and integrity disagree.");return{integrity:r,path:Ma,pathHash:o,role:"core"}}function Ip(e,t){const n=`Hosted runtime ${t} has no usable asset candidates.`;if(!Array.isArray(e))throw new Error(n);if(e.length===0)throw new Error(n);if(e.some(a=>!(a!=null&&a.trim())))throw new Error(n);return[...new Set(e)]}function Vp(e,t,n,a){const r=e.getElementById(t);r instanceof HTMLScriptElement&&Oo(e,r,n,a)&&r.dataset.yomuHostedRuntimeState==="error"&&r.remove()}function Oo(e,t,n,a){if(!kp.has(t.dataset.yomuHostedRuntimeState??""))return!1;const r=e.createElement("script");return r.src=n,r.integrity=a.integrity,r.crossOrigin="anonymous",r.dataset.yomuHostedRuntimeRole=a.role,Oa(t)===Oa(r)}function Oa(e){return[e.dataset.yomuHostedRuntimeRole,e.integrity,e.src,e.crossOrigin].join("\0")}function Co(e,t){const n=at(e,t);if(!Vo.test(n))throw new Error(t);return n}function jo(e){var n;const t=(n=e.match(Vo))==null?void 0:n[1];if(!t)return"";try{return Array.from(atob(t),a=>
3a.charCodeAt(0).toString(16).padStart(2,"0")).join("").slice(0,12)}catch{return""}}function at(e,t){if(typeof e!="string"||!e.trim())throw new Error(t);return e}function Yn(e,t){if(!Mp(e))throw new Error(t);return e}function Mp(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function rt(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)}function Oe(e){return e&&typeof e=="object"?e:null}const ot="yomu:settings-intent:v2";function Op(e){const t=Ft(e),n=t&&Ft(t.records);if(!n||!Ca(t.revision))return null;const a={};let r=t.revision;for(const[o,i]of Object.entries(n)){const s=Ft(i);if(!s||!Ca(s.seq))return null;const l=s.seq;a[o]=rt(s,"value")?{seq:l,value:s.value}:{seq:l},r=Math.max(r,l)}return{revision:r,records:a}}function Ca(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>=0}function Ft(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Cp(e,t,n){if(!t.length)return e;const a={...e.records};let r=e.revision;for(const o of t){if(!rt(n,o))continue;const i=n[o];a[o]=xp(i)?{seq:++r,value:i}:{seq:++r}}return r===e.revision?e:{revision:r,records:a}}function jp(e,t){const n=Object.keys(t.records);if(!n.length)return e;const a={...e};let r=!1;for(const o of n){const i=t.records[o];!rt(i,"value")||!rt(a,o)||Dp(a[o],i.value)||(a[o]=i.value,r=!0)}return r?a:e}function xp(e){return e==null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function Dp(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}const Hp="__yomuSettingsPersistenceTransactionV1",Ce="__yomuSettingsPersistenceCommitV1";function Bp(e,t){const n=xo(e),{settings:a,intentLedger:r}=n?{settings:Ba(n.settings),intentLedger:Ba(n.intentLedger)}:{settings:e,intentLedger:t};return Gp(a,r)}function Gp(e,t){const n=ja(e);return n!==null&&n===ja(t)?{settings:Da(e),intentLedger:Da(t)}:null}function ja(e){const t=Oe(e);if(t)return zp(t)}function zp(e){if(!Object.hasOwn(e,Ce))return;const t=e[Ce];return typeof t=="string"&&t?t:null}function xa(e,t){return{...e,[Ce]:t}}function Da(e){const t=Oe(e);if(!t||!Object.hasOwn(t,Ce))return e;const n={...t};return delete n[Ce],n}function xo(e){const t=Oe(e),n=t&&Oe(t[Hp]);return n?Fp(n):null}function Fp(e){if(e.version!==1)return null;const t=Ha(e.settings),n=Ha(e.intentLedger);return t&&n?{version:1,settings:t,intentLedger:n}:null}function Ha(e){const t=Oe(e);return t&&typeof t.existed=="boolean"&&typeof t.localFallbackExisted=="boolean"?{existed:t.existed,previousValue:t.previousValue,localFallbackExisted:t.localFallbackExisted,localFallbackValue:t.localFallbackValue}:null}function Ba(e){return e.existed?e.previousValue:null}const Up=new Set;let Ut=0;function Wp(e){Ut=Math.max(0,Ut+(e?1:-1));for(const t of Up)try{t(Ut>0)}catch{}}const Kp="reader-settings-persistence",Yp={leaseMs:vm,guards:ht,onWait:Wp},Jp="__yomuSettingsPersistenceTransactionV1";async function qp(e){const t=await Xp(e);if(t)return t;throw new Error("Settings storage did not provide a stable committed snapshot.")}async function Xp(e){for(let t=0;t<3;t++){const n=await Qp(e);if(n)return n}return null}async function Qp(e){const t=await e(et,null),n=await e(ot,null),a=await e(ot,null),r=await e(et,null);if(!Zp(t,n,r,a))return null;const o=Bp(r,a);if(!o)return null;const i=o.intentLedger==null?{revision:0,records:{}}:Op(o.intentLedger);return i?{settings:o.settings,intentLedger:i}:null}function Zp(e,t,n,a){return Ka(e,n)&&Ka(t,a)}async function eh(e,t){const n=op(!0),a=await th(n);try{const r=cn();await n.write(a.settings.receipt,nh(a.settings,a.intentLedger)),await n.write(a.intentLedger.receipt,xa(e,r)),await n.write(a.settings.receipt,xa(t,r)),n.commit()}catch(r){await n.reject(r,"Settings persistence failed",!0)}}async function th(e){const t=await e.capture(et),n=Ga(t),a=xo(n.previousValue);if(!a)return{settings:n,intentLedger:Ga(await e.capture(ot))};const r=await e.capture(ot),o=Wa(t,a.settings),i=Wa(r,a.intentLedger);return e.adoptInterrupted(t,za(o),Fa(o)),e.adoptInterrupted(r,za(i),Fa(i)),{settings:o,intentLedger:i}}function Ga(e){const{existed:t,value:n}=e.previous;return{receipt:e,existed:t,previousValue:n,localFallbackExisted:t,localFallbackValue:n}}function za(e){return{existed:e.existed,value:e.previousValue}}function Fa(e){return{existed:e.localFallbackExisted,value:e.localFallbackValue}}function nh(e,t){const n=ah(e.previousValue)??{};return{...n,learningTargetChosen:n.learningTargetChosen===!0,onboardingSeen:typeof n.onboardingSeen=="boolean"?n.onboardingSeen:!1,[Jp]:{version:1,settings:Ua(e),intentLedger:Ua(t)}}}function Ua(e){return{existed:e.existed,previousValue:e.previousValue,localFallbackExisted:e.existed,localFallbackValue:e.previousValue}}function Wa(e,t){return{receipt:e,...t}}function Ka(e,t){try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function ah(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}async function rh(e,t){await tp(Kp,async()=>{const n=qg()?Eo:ko,a=await qp(n);if(a.settings==null&&!t)return;const r=a.settings??{learningTargetChosen:!1,onboardingSeen:!1};if(typeof r!="object"||Array.isArray(r))throw new Error("Invalid hosted settings authority.");const o={...r,...e},i=Cp(a.intentLedger,t?Object.keys(e):[],o),s=jp(o,i);i===a.intentLedger&&JSON.stringify(s)===JSON.stringify(r)||await eh(i,s)},Yp)}const oh=[["visibility","hidden"],["overflow","visible"],["position","relative"],["display","inline-block"]],ih=".jpdb-reader-text-mirror";function sh(e,t){ch(e,ih,lh)}function ch(e,t,n,a){e.querySelectorAll(t).forEach(o=>{if(n(o))return;const i=o.parentElement;o.remove(),i&&uh(i)});const r=new Set;e.querySelectorAll(".jpdb-reader-word").forEach(o=>{if(n(o))return;const i=o.parentNode;
3i&&(r.add(i),o.replaceWith(o.ownerDocument.createTextNode(dh(o))))}),r.forEach(o=>{o.normalize()})}function lh(e){return!!e.closest('[data-jpdb-reader-root], [data-yomu-localize="off"]')}function uh(e){for(const[t,n]of oh)e.style.getPropertyValue(t)===n&&e.style.removeProperty(t)}function dh(e){let t="";return e.childNodes.forEach(n=>{t+=Do(n)}),t||e.textContent||""}function Do(e){return fh(e)?e.textContent??"":mh(e)?ph(e):""}function fh(e){return e.nodeType===Node.TEXT_NODE}function mh(e){return e instanceof HTMLElement&&!gh(e)}function gh(e){return e.matches('rt, rp, .jpdb-reader-furigana, .jpdb-reader-furi, .jpdb-ocr-furi, [data-jpdb-reader-surface-ignore="true"]')}function ph(e){let t="";return e.childNodes.forEach(n=>{t+=Do(n)}),t}function hh(e){const t=e.normalize("NFKC").trim().replace(/\s+/gu," ");if(!t||[...t].length>32||/[#\p{Cc}\p{Cf}\p{Cs}]/u.test(t))throw new TypeError("Class display name is invalid.");return t}function vh(e,t){const n=hh(e);if(!/^\d{6}$/u.test(t))throw new TypeError("Class discriminator is invalid.");return{displayName:n,discriminator:t,label:`${n}#${t}`}}function yh(e){const t=Ho(e,"Academy account"),n=vh(fn(t.displayName,"displayName"),wh(fn(t.displayTag,"displayTag")));if(n.label!==t.displayTag)throw new TypeError("Academy displayTag is invalid.");return{accountId:kh(t.accountId,"accountId"),identity:n,nameChosen:$e(t.nameChosen,"nameChosen"),avatarKey:Th(t.avatarKey),boardVisible:$e(t.boardVisible,"boardVisible"),shareAvatar:$e(t.shareAvatar,"shareAvatar"),academyAccess:$e(t.academyAccess,"academyAccess"),classes:Sh(t.classes,"classes").map(bh)}}function bh(e){const t=Ho(e,"Academy class");return{classId:Lh(t.classId),name:fn(t.name,"name"),role:Eh(t.role),boardHidden:$e(t.boardHidden,"boardHidden")}}function wh(e){const t=/#(\d{6})$/u.exec(e);if(!t)throw new TypeError("displayTag is invalid.");return t[1]??""}function Ho(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError(`${t} must be an object.`);return e}function Sh(e,t){if(!Array.isArray(e))throw new TypeError(`${t} must be an array.`);return e}function fn(e,t){if(typeof e!="string"||!e.trim())throw new TypeError(`${t} must be text.`);return e}function $e(e,t){if(typeof e!="boolean")throw new TypeError(`${t} must be boolean.`);return e}function kh(e,t){if(typeof e!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(e))throw new TypeError(`${t} must be a UUID.`);return e}function Eh(e){if(e!=="learner"&&e!=="sensei")throw new TypeError("Unknown Academy class role.");return e}function Lh(e){if(typeof e!="string"||!/^[a-z0-9][a-z0-9-]{2,63}$/u.test(e))throw new TypeError("classId is invalid.");return e}function _h(e){if(typeof e!="string"||!/^quality-[2-5]$/u.test(e))throw new TypeError("avatarKey is invalid.");return e}function Th(e){return e===null?null:_h(e)}const Ah="/academy/api/account",Bo="/academy/api/session/status",Ph="/academy/api/session/resume",Rh="/academy/api/auth/google/reader",Nh="/academy/api/auth/google/start",$h="/academy/api/logout",Ih="/academy/?view=profile-sync",Ya="yomu-hosted-account",Ja="yomu-hosted-mobile-account",Vh={en:{account:"Account",loading:"Checking accountâ¦",signedOut:"Signed out",signedIn:"Signed in",signedInAs:e=>`Signed in as ${e}`,unavailable:"Account status unavailable",signIn:"Sign in",createAccount:"Create account",profileSync:"Profile & sync",chooseName:"Choose your name",signOut:"Sign out"},ja:{account:"ã¢ã«ã¦ã³ã",loading:"ã¢ã«ã¦ã³ãã確èªä¸â¦",signedOut:"ãµã¤ã³ã¤ã³ãã¦ãã¾ãã",signedIn:"ãµã¤ã³ã¤ã³æ¸ã¿",signedInAs:e=>`${e} ã¨ãã¦ãµã¤ã³ã¤ã³æ¸ã¿`,unavailable:"ã¢ã«ã¦ã³ãç¶æ
ã確èªã§ãã¾ãã",signIn:"ãµã¤ã³ã¤ã³",createAccount:"ã¢ã«ã¦ã³ãã使",profileSync:"ãããã£ã¼ã«ã¨åæ",chooseName:"ååãè¨å®",signOut:"ãµã¤ã³ã¢ã¦ã"}},qa={phase:"loading",displayName:null,nameChosen:!1,busy:!1,error:!1};class Mh{constructor(t={}){I(this,"request");I(this,"navigate");I(this,"listeners",new Set);I(this,"currentState",qa);I(this,"loadPromise",null);I(this,"loaded",!1);this.request=t.request??Oh,this.navigate=t.navigate??(n=>window.location.assign(n))}get state(){return this.currentState}subscribe(t){return this.listeners.add(t),t(this.currentState),()=>this.listeners.delete(t)}ensureLoaded(){return this.loaded?Promise.resolve(this.currentState):this.loadPromise?this.loadPromise:(this.loadPromise=this.loadAccountStatus().finally(()=>{this.loaded=!0,this.loadPromise=null}),this.loadPromise)}async beginReaderAuth(){this.setState({...this.currentState,busy:!0,error:!1});try{const t=await this.request(Rh,Wt(!0));if(!t.ok)throw new Error("Reader account authorization failed.");const n=Xa(await t.json());if(n.state==="linked"){await this.loadAccountStatus();return}if(n.state!=="active-unlinked")throw new Error("Reader account authorization failed.");this.navigate(Nh)}catch{this.setState({...this.currentState,busy:!1,error:!0})}}async signOut(){this.setState({...this.currentState,busy:!0,error:!1});try{if(!(await this.request($h,Wt(!1))).ok)throw new Error("Reader account sign-out failed.");this.setState({phase:"signed-out",displayName:null,nameChosen:!1,busy:!1,error:!1})}catch{this.setState({...this.currentState,busy:!1,error:!0})}}async loadAccountStatus(){this.setState(qa);try{let t=await this.resolveSessionStatus();if(t.state!=="linked")return this.setState({phase:"signed-out",displayName:null,nameChosen:!1,busy:!1,error:!1});let n=await this.accountRequest();if(n.status===401){if(t=await this.resolveSessionStatus(),t.state!=="linked")return this.setState({phase:"signed-out",displayName:null,nameChosen:!1,busy:!1,error:!1});if(n=await this.accountRequest(),n.status===401)return this.setState({phase:"signed-out",displayName:null,nameChosen:!1,busy:!1,error:!1})}if(!n.ok)throw new Error("Reader account status failed.");const a=yh(await n.json());return this.setState({phase:"signed-in",displayName:a.identity.displayName,nameChosen:a.nameChosen,busy:!1,error:!1})}catch{return this.setState({phase:"error",displayName:null,nameChosen:!1,busy:!1,error:!0})}}accountRequest(){return this.request(Ah,Qa())}async readSessionStatus(){const t=await this.request(Bo,Qa());if(!t.ok)throw new Error("Reader session status failed.");return Xa(await t.json())}async resolveSessionStatus(){const t=await this.readSessionStatus();if(t.state!=="resumable")return t;const n=await this.request(Ph,Wt(!1));if(!n.ok&&n.status!==401)throw new Error("Reader account session resume failed.");return this.readSessionStatus()}
3setState(t){return this.currentState=t,this.listeners.forEach(n=>n(t)),t}}function Oh(e,t){return typeof location>"u"||location.origin!=="https://yomureader.com"?String(e)===Bo?Promise.resolve(new Response(JSON.stringify({state:"signed-out"}),{status:200,headers:{"content-type":"application/json"}})):Promise.resolve(new Response(null,{status:404})):fetch(e,t)}function Xa(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Academy session status is invalid.");const t=e.state;if(t!=="signed-out"&&t!=="active-unlinked"&&t!=="resumable"&&t!=="linked")throw new TypeError("Academy session status is invalid.");return{state:t}}class Ch{constructor(t={}){I(this,"client");I(this,"document");I(this,"language","en");I(this,"unsubscribe");this.client=t.client??new Mh,this.document=t.document??document,this.unsubscribe=this.client.subscribe(()=>this.render())}sync(t){this.language=t,this.mountDesktopControl(),this.mountMobileControl(),this.render(),this.client.ensureLoaded()}destroy(){var t,n;this.unsubscribe(),(t=this.document.getElementById(Ya))==null||t.remove(),(n=this.document.getElementById(Ja))==null||n.remove()}mountDesktopControl(){const t=this.document.querySelector(".VPNavBar .content-body");if(!t)return;const n=this.control(Ya,!1);if(!t.contains(n)){const a=t.querySelector(".VPNavBarAppearance"),r=a?[...t.children].find(o=>o===a||o.contains(a))??null:null;t.insertBefore(n,r)}}mountMobileControl(){const t=this.document.querySelector("#NavScreenGroup-more");if(!t)return;const n=this.control(Ja,!0);t.contains(n)||t.prepend(n)}control(t,n){const a=this.document.getElementById(t);if(a)return a;const r=this.document.createElement("div");return r.id=t,r.className=n?"item yomu-hosted-account yomu-hosted-account-mobile":"yomu-hosted-account yomu-hosted-account-desktop",r.dataset.yomuHostedAccount=n?"mobile":"desktop",r.dataset.yomuLocalize="off",r}render(){for(const t of this.document.querySelectorAll("[data-yomu-hosted-account]"))this.renderControl(t)}renderControl(t){const n=this.client.state,a=Vh[this.language];t.setAttribute("aria-busy",String(n.phase==="loading"||n.busy));const r=t.querySelector("details"),o=(r==null?void 0:r.open)??!1,i=this.document.createElement("details");i.className="yomu-hosted-account-details",i.open=o;const s=this.document.createElement("summary");s.className="yomu-hosted-account-summary",s.setAttribute("aria-label",a.account);const l=this.document.createElement("span");l.className="yomu-hosted-account-summary-text",l.textContent=n.phase==="signed-in"&&n.nameChosen&&n.displayName?n.displayName:a.account;const p=this.document.createElement("span");p.className="yomu-hosted-account-state-mark",p.dataset.state=n.phase,p.setAttribute("aria-hidden","true"),s.append(p,l);const k=this.document.createElement("div");k.className="yomu-hosted-account-panel";const h=this.document.createElement("p");h.className="yomu-hosted-account-status",h.setAttribute("role",n.error?"alert":"status"),h.setAttribute("aria-live",n.error?"assertive":"polite"),h.textContent=jh(n,a),k.append(h);const y=this.document.createElement("div");y.className="yomu-hosted-account-actions";const _=n.phase==="loading"||n.busy;n.phase==="signed-in"?y.append(this.accountLink(n.nameChosen?a.profileSync:a.chooseName,Ih),this.actionButton(a.signOut,()=>this.client.signOut(),_)):y.append(this.actionButton(a.signIn,()=>this.client.beginReaderAuth(),_),this.actionButton(a.createAccount,()=>this.client.beginReaderAuth(),_)),k.append(y),i.append(s,k),t.replaceChildren(i)}actionButton(t,n,a){const r=this.document.createElement("button");return r.type="button",r.className="yomu-hosted-account-action",r.textContent=t,r.disabled=a,r.addEventListener("click",()=>void n()),r}accountLink(t,n){const a=this.document.createElement("a");return a.className="yomu-hosted-account-action",a.textContent=t,a.href=n,a.target="_self",a}}function jh(e,t){return e.error?t.unavailable:e.phase==="loading"?t.loading:e.phase==="signed-in"&&e.nameChosen&&e.displayName?t.signedInAs(e.displayName):e.phase==="signed-in"?t.signedIn:t.signedOut}function Qa(){return{method:"GET",credentials:"same-origin",cache:"no-store"}}function Wt(e){return{method:"POST",credentials:"same-origin",cache:"no-store",...e?{headers:{"content-type":"application/json"},body:"{}"}:{}}}let Za;function xh(e){Za??(Za=new Ch),Za.sync(e)}const Dh="Apps",Hh=Object.freeze([{text:"Read",ja:"èªã",link:"/library/"},{text:"Watch",ja:"観ã",link:"/video-player/",target:"_self"},{text:"Study",ja:"å¦ç¿",link:"/study/",target:"_self"}]),Bh=Object.freeze([{text:"Learning path",ja:"å¦ç¿ã®éç",link:"/learn/"},{text:"Academy",ja:"ã¢ã«ããã¼",link:"/academy/",target:"_self"},{text:Dh,ja:"ã¢ããª",link:"/learn/reference#apps"},{text:"Help",ja:"ãã«ã",link:"/support"},{text:"PDF Reader",ja:"PDFãªã¼ãã¼",link:"/pdf-reader/",target:"_self"},{text:"Stats",ja:"çµ±è¨",link:"/study/?mode=stats",target:"_self"},{text:"API",ja:"API",link:"/api/",target:"_self"},{text:"Local Audio",ja:"ãã¼ã«ã«é³å£°",link:"/local-audio"},{text:"Settings reference",ja:"è¨å®ãªãã¡ã¬ã³ã¹",link:"/reference/settings"},{text:"FAQ",ja:"ãããã質å",link:"/faq"},{text:"Changelog",ja:"夿´å±¥æ´",link:"/changelog"},{text:"Privacy",ja:"ãã©ã¤ãã·ã¼",link:"/privacy"}]),Gh=Object.freeze({text:"Membership",ja:"ã¡ã³ãã¼ã·ãã",link:"/membership",target:"_self"});function zh(){return[...Hh,...Bh,Gh]}function Fh(){return zh().filter(e=>e.text!=="Study").map(e=>({text:e.text,href:e.link,...e.target?{target:e.target}:{}}))}const Uh={setupTitle:"Set up Yomu in your language",learnerLanguageLabel:"Your language",targetLanguageLabel:"Language you are learning",targetJapanese:"Japanese",recommendedDictionariesTitle:"Recommended Japanese dictionaries",automaticTranslationLabel:"Translate automatically into {language}",dictionaryCountAndSize:"{count, plural, one {# dictionary} other {# dictionaries}} · {size}",setupProgress:"Language setup {current} of {total}",continueAction:"Continue",originalDefinitionLabel:"Original {language}",interfaceRtlVerificationPending:"Right-to-left layout checks are still running.",interfaceTranslationPending:"Translation is still in progress."};function A(e,t,n){return Object.freeze({locale:e,reviewStatus:t,sourceLocale:"en",messages:Object.freeze(n)})}A("ar","machine-draft",{setupTitle:"إعداد â¨ããâ© Ø¨ÙØºØªÙ",learnerLanguageLabel:"ÙØºØªÙ",targetLanguageLabel:"اÙÙØºØ© Ø§ÙØªÙ تتعÙÙ
ÙØ§",targetJapanese:"اÙÙØ§Ø¨Ø§ÙÙØ©",recommendedDictionariesTitle:"ÙÙØ§Ù
ÙØ³ ÙØ§Ø¨Ø§ÙÙØ© Ù
ÙØµÙ Ø¨ÙØ§",automaticTranslationLabel:"Ø§ÙØªØ±Ø¬Ù
Ø© تÙÙØ§Ø¦ÙÙØ§ Ø¥ÙÙ â¨{language}â©",dictionaryCountAndSize:"{count, plural, one {عدد اÙÙÙØ§Ù
ÙØ³: #} other {عدد اÙÙÙØ§Ù
ÙØ³: #}} · â¨{size}â©",setupProgress:"إعداد اÙÙØºØ©: â¨{current}â© Ù
Ù â¨{total}â©",continueAction:"Ù
تابعة",originalDefinitionLabel:"Ø§ÙØªØ¹Ø±ÙÙ Ø§ÙØ£ØµÙ٠باÙÙØºØ© â¨{language}â©",interfaceRtlVerificationPending:"ÙØ§ ÙØ²Ø§Ù Ø§ÙØªØÙÙ Ù
Ù Ø§ÙØªØ®Ø·ÙØ· Ù
٠اÙÙÙ
Ù٠إÙ٠اÙÙØ³Ø§Ø± جارÙÙØ§.",interfaceTranslationPending:"Ø§ÙØªØ±Ø¬Ù
Ø© ÙÙØ¯ Ø§ÙØªÙدÙ
."});A("da","machine-draft",{setupTitle:"Opsæt ãã pÃ¥ dit sprog",learnerLanguageLabel:"Dit sprog",targetLanguageLabel:"Det sprog, du lærer",targetJapanese:"Japansk",recommendedDictionariesTitle:"Anbefalede japanske ordbøger",automaticTranslationLabel:"Oversæt automatisk til {language}",dictionaryCountAndSize:"{count, plural, one {# ordbog} other {# ordbøger}} · {size}",setupProgress:"Sprogopsætning: {current} af {total}",continueAction:"Fortsæt",originalDefinitionLabel:"Original pÃ¥ {language}",interfaceRtlVerificationPending:"Kontrollen af højre-til-venstre-layout er stadig i gang.",interfaceTranslationPending:"Oversættelsen er stadig i gang."});A("de","machine-draft",{setupTitle:"ãã in deiner Sprache einrichten",learnerLanguageLabel:"Deine Sprache",targetLanguageLabel:"Sprache, die du lernst",targetJapanese:"Japanisch",recommendedDictionariesTitle:"Empfohlene Wörterbücher für Japanisch",automaticTranslationLabel:"Automatisch auf {language} übersetzen",dictionaryCountAndSize:"{count, plural, one {# Wörterbuch} other {# Wörterbücher}} · {size}",setupProgress:"Sprache einrichten: {current} von {total}",continueAction:"Weiter",originalDefinitionLabel:"Originaldefinition auf {language}",interfaceRtlVerificationPending:"Die Prüfungen für das Rechts-nach-links-Layout laufen noch.",interfaceTranslationPending:"Die Ãbersetzung läuft noch."});
3A("el","machine-draft",{setupTitle:"ΡÏ
θμίÏÏε Ïο ãã ÏÏη γλÏÏÏα ÏαÏ",learnerLanguageLabel:"ΠγλÏÏÏα ÏαÏ",targetLanguageLabel:"ÎλÏÏÏα ÏοÏ
μαθαίνεÏε",targetJapanese:"ÎαÏÏνικά",recommendedDictionariesTitle:"Î ÏοÏεινÏμενα λεξικά για Ïα ÎαÏÏνικά",automaticTranslationLabel:"ÎÏ
ÏÏμαÏη μεÏάÏÏαÏη ÏÏα {language}",dictionaryCountAndSize:"{count, plural, one {# λεξικÏ} other {# λεξικά}} · {size}",setupProgress:"ΡÏθμιÏη γλÏÏÏαÏ: {current} αÏÏ {total}",continueAction:"ΣÏ
νÎÏεια",originalDefinitionLabel:"Î ÏÏÏÏÏÏ
Ïο κείμενο ÏÏα {language}",interfaceRtlVerificationPending:"Îι ÎλεγÏοι διάÏÎ±Î¾Î·Ï Î±ÏÏ Î´ÎµÎ¾Î¹Î¬ ÏÏÎ¿Ï Î±ÏιÏÏεÏά είναι Ïε εξÎλιξη.",interfaceTranslationPending:"ΠμεÏάÏÏαÏη είναι Ïε εξÎλιξη."});A("en","source-approved",Uh);A("es","machine-draft",{setupTitle:"Configura Yomu en tu idioma",learnerLanguageLabel:"Tu idioma",targetLanguageLabel:"Idioma que estás aprendiendo",targetJapanese:"Japonés",recommendedDictionariesTitle:"Diccionarios de japonés recomendados",automaticTranslationLabel:"Traducir automáticamente al {language}",dictionaryCountAndSize:"{count, plural, one {# diccionario} other {# diccionarios}} · {size}",setupProgress:"Configuración del idioma: {current} de {total}",continueAction:"Continuar",originalDefinitionLabel:"Definición original ({language})",interfaceRtlVerificationPending:"Las comprobaciones del diseño de derecha a izquierda siguen en curso.",interfaceTranslationPending:"La traducción sigue en curs
3o."});A("fa","machine-draft",{setupTitle:"راÙâØ§ÙØ¯Ø§Ø²Û â¨ãã⩠ب٠زبا٠شÙ
ا",learnerLanguageLabel:"زبا٠شÙ
ا",targetLanguageLabel:"زباÙÛ Ú©Ù ÛØ§Ø¯ Ù
ÛâÚ¯ÛØ±Ûد",targetJapanese:"ÚØ§Ù¾ÙÛ",recommendedDictionariesTitle:"ÙØ§ÚÙâÙØ§Ù
ÙâÙØ§Û Ù¾ÛØ´ÙÙØ§Ø¯Û Ø²Ø¨Ø§Ù ÚØ§Ù¾ÙÛ",automaticTranslationLabel:"ترجÙ
ÙÙ Ø®ÙØ¯Ú©Ø§Ø± ب٠â¨{language}â©",dictionaryCountAndSize:"{count, plural, one {# ÙØ§ÚÙâÙØ§Ù
Ù} other {# ÙØ§ÚÙâÙØ§Ù
Ù}} · â¨{size}â©",setupProgress:"راÙâØ§ÙØ¯Ø§Ø²Û زباÙ: â¨{current}⩠از â¨{total}â©",continueAction:"اداÙ
Ù",originalDefinitionLabel:"تعرÛ٠اصÙÛ Ø¨Ù Ø²Ø¨Ø§Ù â¨{language}â©",interfaceRtlVerificationPending:"Ø¨Ø±Ø±Ø³Û ÚÛØ¯Ù
Ø§Ù Ø±Ø§Ø³ØªâØ¨ÙâÚÙ¾ ÙÙÙØ² در ØØ§Ù Ø§ÙØ¬Ø§Ù
است.",interfaceTranslationPending:"ترجÙ
Ù ÙÙÙØ² در ØØ§Ù Ø§ÙØ¬Ø§Ù
است."});A("fi","machine-draft",{setupTitle:"Ota ãã käyttöön omalla kielelläsi",learnerLanguageLabel:"Oma kielesi",targetLanguageLabel:"Opiskelemasi kieli",targetJapanese:"Japani",re
3commendedDictionariesTitle:"Suositellut japanin kielen sanakirjat",automaticTranslationLabel:"Käännä automaattisesti: {language}",dictionaryCountAndSize:"{count, plural, one {# sanakirja} other {# sanakirjaa}} · {size}",setupProgress:"Kieliasetukset: vaihe {current}/{total}",continueAction:"Jatka",originalDefinitionLabel:"Alkuperäinen määritelmä ({language})",interfaceRtlVerificationPending:"Oikealta vasemmalle -asettelun tarkistukset ovat vielä kesken.",interfaceTranslationPending:"Käännös on vielä kesken."});A("fr","machine-draft",{setupTitle:"Configurez ãã dans votre langue",learnerLanguageLabel:"Votre langue",targetLanguageLabel:"Langue que vous apprenez",targetJapanese:"Japonais",recommendedDictionariesTitle:"Dictionnaires de japonais recommandés",automaticTranslationLabel:"Traduire automatiquement en {language}",dictionaryCountAndSize:"{count, plural, one {# dictionnaire} other {# dictionnaires}} · {size}",setupProgress:"Configuration de la langue : {current} sur {total}",continueAction:"Continuer",originalDefinitionLabel:"Définition originale en {language}",interfaceRtlVerificationPending:"Les vérifications de la mise en page de droite à gauche sont en cours.",interfaceTranslationPending:"La traduction est en cours."});A("grc","machine-draft",{setupTitle:"ΠαÏαÏκεÏαζε Ïὸ ãã καÏá½° Ïὴν Ïὴν γλῶÏÏαν",learnerLanguageLabel:"Ἡ Ïá½´ γλῶÏÏα",targetLanguageLabel:"Ἡ γλῶÏÏα ἣν μανθάνειÏ",targetJapanese:"ἸαÏÏνική",recommendedDictionariesTitle:"Τὰ αἱÏεÏá½° λεξικὰ Ïá¿Ï ἸαÏÏνικá¿Ï",automaticTranslationLabel:"ÎεθεÏμήνεÏ
ε αá½ÏομάÏÏÏ Îµá¼°Ï {language}",dictionaryCountAndSize:"{count, plural, one {# λεξικÏν} other {# λεξικά}} · {size}",setupProgress:"Ἡ ÏαÏαÏκεÏ
á½´ Ïá¿Ï γλÏÏÏηÏ· {current} á¼Îº {total}",continueAction:"Î ÏÏβαινε",originalDefinitionLabel:"Τὸ ÏÏÏÏÏÏÏ
Ïον ({language})",interfaceRtlVerificationPending:"Îá¼± á¼Î»ÎµÎ³Ïοι Ïá¿Ï á¼Îº δεξιῶν Îµá¼°Ï á¼ÏιÏÏεÏá½° διαÏάξεÏÏ á¼Ïι γίγνονÏαι.",interfaceTranslationPending:"Ἡ μεÏάÏÏαÏÎ¹Ï á¼Ïι γίγνεÏαι."});A("hu","machine-draft",{setupTitle:"A ãã beállÃtása az Ãn nyelvén",learnerLanguageLabel:"Az Ãn nyelve",targetLanguageLabel:"A tanult nyelv",targetJapanese:"Japán",recommendedDictionariesTitle:"Ajánlott japán szótárak",automaticTranslationLabel:"Automatikus fordÃtás {language} nyelvre",dictionaryCountAndSize:"{count, plural, one {# szótár} other {# szótár}} · {size}",setupProgress:"Nyelvi beállÃtás: {current}/{total}",continueAction:"Folytatás",originalDefinitionLabel:"Eredeti meghatározás ({language})",interfaceRtlVerificationPending:"A jobbról balra elrendezés ellenÅrzése még folyik.",interfaceTranslationPending:"A fordÃtás még folyamatban van."});A("id","machine-draft",{setupTitle:"Siapkan Yomu dalam bahasa Anda",learnerLanguageLabel:"Bahasa Anda",targetLanguageLabel:"Bahasa yang sedang Anda pelajari",targetJapanese:"Bahasa Jepang",recommendedDictionariesTitle:"Kamus bahasa Jepang yang direkomendasikan",automaticTranslationLabel:"Terjemahkan secara otomatis ke {language}",dictionaryCountAndSize:"{count, plural, one {# kamus} other {# kamus}} · {size}",setupProgress:"Penyiapan bahasa {current} dari {total}",continueAction:"Lanjutkan",originalDefinitionLabel:"Definisi asli dalam {language}",interfaceRtlVerificationPending:"Pemeriksaan tata letak kanan ke kiri masih berjalan.",interfaceTranslationPending:"Penerjemahan masih berlangsung."});A("it","machine-draft",{setupTitle:"Configura ãã nella tua lingua",learnerLanguageLabel:"La tua lingua",targetLanguageLabel:"Lingua che stai imparando",targetJapanese:"Giapponese",recommendedDictionariesTitle:"Dizionari di giapponese consigliati",automaticTranslationLabel:"Traduci automaticamente in {language}",dictionaryCountAndSize:"{count, plural, one {# dizionario} other {# dizionari}} · {size}",setupProgress:"Configurazione della lingua: {current} di {total}",continueAction:"Continua",originalDefinitionLabel:"Definizione originale in {language}",interfaceRtlVerificationPending:"I controlli del layout da destra a sinistra sono ancora in corso.",interfaceTranslationPending:"La traduzione è ancora in corso."});
3A("km","machine-draft",{setupTitle:"áááá
á ãã áá¶áá¶áá¶ááááá¢ááá",learnerLanguageLabel:"áá¶áá¶ááááá¢ááá",targetLanguageLabel:"áá¶áá¶áááá¢ááááááá»áááá",targetJapanese:"áá¶áá¶áááá»á",recommendedDictionariesTitle:"áá
áá¶áá»áááááááá»áááááá¶ááááá¶á",automaticTranslationLabel:"áááááááááááááááááááááá·áá
áá¶ {language}",dictionaryCountAndSize:"{count, plural, one {áá
áá¶áá»áááá #} other {áá
áá¶áá»áááá #}} · {size}",setupProgress:"áá¶áááááááá¶áá¶á {current} áá {total}",continueAction:"áááá",originalDefinitionLabel:"áá·ááááááá¾á ({language})",interfaceRtlVerificationPending:"áá¶ááá·áá·áááááááááá¸áááá¶ááá
ááááááááá»ááááá¾ááá¶áá",interfaceTranslationPending:"áá¶ááááááááááá»ááááá¾ááá¶áá"});A("ko","machine-draft",{setupTitle:"ë´ ì¸ì´ë¡ ãã ì¤ì í기",learnerLanguageLabel:"ì¬ì© ì¸ì´",targetLanguageLabel:"íìµí ì¸ì´",targetJapanese:"ì¼ë³¸ì´",recommendedDictionariesTitle:"ì¶ì² ì¼ë³¸ì´ ì¬ì ",automaticTranslationLabel:"{language}ë¡ ìë ë²ì",dictionaryCountAndSize:"{count, plural, one {ì¬ì #ê°} other {ì¬ì #ê°}} · {size}",setupProgress:"ì¸ì´ ì¤ì : {total}ë¨ê³ ì¤ {current}ë¨ê³",continueAction:"ê³ì",originalDefinitionLabel:"ì문({language})",interfaceRtlVerificationPending:"ì¤ë¥¸ìª½ìì ì¼ìª½ ë ì´ìì ê²ì¬ê° ìì§ ì§í ì¤ì
ëë¤.",interfaceTranslationPending:"ë²ìì´ ìì§ ì§í ì¤ì
ëë¤."});A("la","machine-draft",{setupTitle:"Configura ãã in lingua tua",learnerLanguageLabel:"Lingua tua",targetLanguageLabel:"Lingua quam discis",targetJapanese:"Lingua Iaponica",recommendedDictionariesTitle:"Dictionaria linguae Iaponicae commendata",automaticTranslationLabel:"Automatice verte in {language}",dictionaryCountAndSize:"{count, plural, one {# dictionarium} other {# dictionaria}} · {size}",setupProgress:"Configuratio linguae: {current} ex {total}",continueAction:"Perge",originalDefinitionLabel:"Definitio originalis ({language})",interfaceRtlVerificationPending:"Probationes dispositionis a dextra ad sinistram adhuc geruntur.",interfaceTranslationPending:"Translatio adhuc geritur."});A("lo","machine-draft",{setupTitle:"àºàº±à»àºàºà»àº² ãã à»àºàºàº²àºªàº²àºàºàºàºà»àº²àº",learnerLanguageLabel:"àºàº²àºªàº²àºàºàºàºà»àº²àº",targetLanguageLabel:"àºàº²àºªàº²àºàºµà»àºà»àº²àºàºàº³àº¥àº±àºàº®àº½àº",targetJapanese:"àºàº²àºªàº²àºàºµà»àºàº¸à»àº",recommendedDictionariesTitle:"ວັàºàºàº°àºàº²àºàº¸àºàº»àº¡àºàº²àºªàº²àºàºµà»àºàº¸à»àºàºàºµà»à»àºàº°àºàº³",automaticTranslationLabel:"à»àºà»àºàº±àº {language} à»àºàºàºàº±àºàºàº°à»àºàº¡àº±àº",dictionaryCountAndSize:"{count, plural, one {# ວັàºàºàº°àºàº²àºàº¸àºàº»àº¡} other {# ວັàºàºàº°àºàº²àºàº¸àºàº»àº¡}} · {size}",setupProgress:"àºàº²àºàºàº±à»àºàºà»àº²àºàº²àºªàº²: àºàº±à»àºàºàºàº {current} àºàºàº {total}",continueAction:"ສືàºàºà»à»",originalDefinitionLabel:"àºàº³àºàº´àºàº²àº¡àºàº»à»àºàºªàº°àºàº±àº ({language})",interfaceRtlVerificationPending:"àºàº²àºàºàº§àºàºªàºàºàºàº²àºàºàº±àºàº§àº²àºàºàº²àºàºàº§àº²à»àºàºà»àº²àºàºàº±àºàºàº³à»àºàºµàºàº¢àº¹à».",interfaceTranslationPending:"àºàº²àºà»àºàºàº±àºàºàº³à»àºàºµàºàº¢àº¹à»."});A("mn","machine-draft",{setupTitle:"ãã-г Ó©Ó©Ñийн Ñ
ÑлÑÑÑ ÑоÑ
иÑÑÑлаÑ
",learnerLanguageLabel:"Ð¢Ð°Ð½Ñ Ñ
Ñл",targetLanguageLabel:"Ð¢Ð°Ð½Ñ ÑÑÑÑ Ð±Ñй Ñ
Ñл",targetJapanese:"Япон Ñ
Ñл",recommendedDictionariesTitle:"Санал болгож бÑй Ñпон Ñ
Ñлний ÑÐ¾Ð»Ñ Ð±Ð¸Ñгүүд",automaticTranslationLabel:"{language} Ñ
Ñл ÑÒ¯Ò¯ авÑомаÑÐ°Ð°Ñ Ð¾ÑÑÑÑлаÑ
",dictionaryCountAndSize:"{count, plural, one {# ÑÐ¾Ð»Ñ Ð±Ð¸Ñиг} other {# ÑÐ¾Ð»Ñ Ð±Ð¸Ñиг}} · {size}",setupProgress:"Ð¥Ñлний ÑоÑ
иÑгоо: {current}/{total}
3",continueAction:"Ò®ÑгÑлжлүүлÑÑ
",originalDefinitionLabel:"ÐÑ
ÑÐ°Ð¹Ð»Ð±Ð°Ñ ({language})",interfaceRtlVerificationPending:"ÐаÑÑÑÐ½Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ ÑÐ¸Ð¹Ñ Ð±Ð°Ð¹ÑлалÑн ÑÐ°Ð»Ð³Ð°Ð»Ñ Ñ
ийгдÑÑÑÑ Ð±Ð°Ð¹Ð½Ð°.",interfaceTranslationPending:"ÐÑÑÑÑлга Ñ
ийгдÑÑÑÑ Ð±Ð°Ð¹Ð½Ð°."});A("nl","machine-draft",{setupTitle:"Stel ãã in jouw taal in",learnerLanguageLabel:"Jouw taal",targetLanguageLabel:"Taal die je leert",targetJapanese:"Japans",recommendedDictionariesTitle:"Aanbevolen Japanse woordenboeken",automaticTranslationLabel:"Automatisch vertalen naar {language}",dictionaryCountAndSize:"{count, plural, one {# woordenboek} other {# woordenboeken}} · {size}",setupProgress:"Taal instellen: {current} van {total}",continueAction:"Doorgaan",originalDefinitionLabel:"Oorspronkelijke definitie ({language})",interfaceRtlVerificationPending:"De controles voor rechts-naar-links-opmaak lopen nog.",interfaceTranslationPending:"De vertaling is nog bezig."});A("pl","machine-draft",{setupTitle:"Skonfiguruj Yomu w swoim jÄzyku",learnerLanguageLabel:"Twój jÄzyk",targetLanguageLabel:"JÄzyk, którego siÄ uczysz",targetJapanese:"JapoÅski",recommendedDictionariesTitle:"Polecane sÅowniki jÄzyka japoÅskiego",automaticTranslationLabel:"TÅumacz automatycznie na jÄzyk {language}",dictionaryCountAndSize:"{count, plural, one {# sÅownik} few {# sÅowniki} many {# sÅowników} other {# sÅownika}} · {size}",setupProgress:"Konfiguracja jÄzyka: {current} z {total}",continueAction:"Kontynuuj",originalDefinitionLabel:"Oryginalna definicja ({language})",interfaceRtlVerificationPending:"Testy ukÅadu od prawej do lewej wciÄ
ż trwajÄ
.",interfaceTranslationPending:"TÅumaczenie wciÄ
ż trwa."});
3A("pt","machine-draft",{setupTitle:"Configure o Yomu no seu idioma",learnerLanguageLabel:"O seu idioma",targetLanguageLabel:"Idioma que está a aprender",targetJapanese:"Japonês",recommendedDictionariesTitle:"Dicionários de japonês recomendados",automaticTranslationLabel:"Traduzir automaticamente para {language}",dictionaryCountAndSize:"{count, plural, one {# dicionário} other {# dicionários}} · {size}",setupProgress:"Configuração do idioma: {current} de {total}",continueAction:"Continuar",originalDefinitionLabel:"Definição original ({language})",interfaceRtlVerificationPending:"As verificações do layout da direita para a esquerda ainda estão em andamento.",interfaceTranslationPending:"A tradução ainda está em andamento."});A("ro","machine-draft",{setupTitle:"ConfigureazÄ Yomu în limba ta",learnerLanguageLabel:"Limba ta",targetLanguageLabel:"Limba pe care o înveÈi",targetJapanese:"JaponezÄ",recommendedDictionariesTitle:"DicÈionare recomandate pentru limba japonezÄ",automaticTranslationLabel:"Tradu automat în {language}",dictionaryCountAndSize:"{count, plural, one {# dicÈionar} few {# dicÈionare} other {# de dicÈionare}} · {size}",setupProgress:"Configurarea limbii: {current} din {total}",continueAction:"ContinuÄ",originalDefinitionLabel:"DefiniÈia originalÄ Ã®n {language}",interfaceRtlVerificationPending:"VerificÄrile aspectului de la dreapta la stânga sunt încÄ Ã®n curs.",interfaceTranslationPending:"Traducerea este încÄ Ã®n curs."});A("ru","machine-draft",{setupTitle:"ÐаÑÑÑойÑе Yomu на ÑвоÑм ÑзÑке",learnerLanguageLabel:"ÐÐ°Ñ ÑзÑк",targetLanguageLabel:"ЯзÑк, коÑоÑÑй Ð²Ñ Ð¸Ð·ÑÑаеÑе",targetJapanese:"ЯпонÑкий",recommendedDictionariesTitle:"РекомендÑемÑе ÑловаÑи ÑпонÑкого ÑзÑка",automaticTranslationLabel:"ÐвÑомаÑиÑеÑки пеÑеводиÑÑ Ð½Ð° {language}",dictionaryCountAndSize:"{count, plural, one {# ÑловаÑÑ} few {# ÑловаÑÑ} many {# ÑловаÑей} other {# ÑловаÑÑ}} · {size}",setupProgress:"ÐаÑÑÑойка ÑзÑка: {current} из {total}",continueAction:"ÐÑодолжиÑÑ",originalDefinitionLabel:"ÐÑигинал опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ({language})",interfaceRtlVerificationPending:"ÐÑовеÑки вÑÑÑÑки ÑпÑава налево еÑÑ Ð¸Ð´ÑÑ.",interfaceTranslationPending:"ÐеÑевод еÑÑ Ð²ÑполнÑеÑÑÑ."});A("sh","machine-draft",{setupTitle:"Podesite Yomu na svom jeziku",learnerLanguageLabel:"VaÅ¡ jezik",targetLanguageLabel:"Jezik koji uÄite",targetJapanese:"Japanski",recommendedDictionariesTitle:"PreporuÄeni japanski reÄnici",automaticTranslationLabel:"Automatski prevod na jezik {language}",dictionaryCountAndSize:"{count, plural, one {# reÄnik} few {# reÄnika} other {# reÄnika}} · {size}",setupProgress:"PodeÅ¡avanje jezika: {current} od {total}",continueAction:"Nastavi",originalDefinitionLabel:"Originalna definicija ({language})",interfaceRtlVerificationPending:"Provjere rasporeda s desna na lijevo joÅ¡ su u toku.",interfaceTranslationPending:"Prijevod je joÅ¡ u toku."});A("sq","machine-draft",{setupTitle:"Konfiguro ãã në gjuhën tënde",learnerLanguageLabel:"Gjuha jote",targetLanguageLabel:"Gjuha që po mëson",targetJapanese:"Japonisht",recommendedDictionariesTitle:"Fjalorë të rekomanduar për japonishten",automaticTranslationLabel:"Përkthe automatikisht në {language}",dictionaryCountAndSize:"{count, plural, one {# fjalor} other {# fjalorë}} · {size}",setupProgress:"Konfigurimi i gjuhës: {current} nga {total}",continueAction:"Vazhdo",originalDefinitionLabel:"Origjinali në {language}",interfaceRtlVerificationPending:"Kontrollet e faqosjes nga e djathta në të majtë janë në vazhdim.",interfaceTranslationPending:"Përkthimi është në vazhdim."});A("sv","machine-draft",{setupTitle:"Ställ in ãã pÃ¥ ditt sprÃ¥k",learnerLanguageLabel:"Ditt sprÃ¥k",targetLanguageLabel:"SprÃ¥ket du lär dig",targetJapanese:"Japanska",recommendedDictionariesTitle:"Rekommenderade japanska ordböcker",automaticTranslationLabel:"Ãversätt automatiskt till {language}",dictionaryCountAndSize:"{count, plural, one {# ordbok} other {# ordböcker}} · {size}",setupProgress:"SprÃ¥kinställning: {current} av {total}",continueAction:"Fortsätt",originalDefinitionLabel:"Ursprunglig definition pÃ¥ {language}",interfaceRtlVerificationPending:"Kontrollerna av höger-till-vänster-layout pÃ¥gÃ¥r fortfarande.",interfaceTranslationPending:"Ãversättningen pÃ¥gÃ¥r fortfarande."});A("th","machine-draft",{setupTitle:"à¸à¸±à¹à¸à¸à¹à¸² Yomu à¹à¸à¸ าษาà¸à¸à¸à¸à¸¸à¸",learnerLanguageLabel:"ภาษาà¸à¸à¸à¸à¸¸à¸",targetLanguageLabel:"ภาษาà¸à¸µà¹à¸à¸¸à¸à¸à¸³à¸¥à¸±à¸à¹à¸£à¸µà¸¢à¸",targetJapanese:"ภาษาà¸à¸µà¹à¸à¸¸à¹à¸",re
3commendedDictionariesTitle:"à¸à¸à¸à¸²à¸à¸¸à¸à¸£à¸¡à¸ าษาà¸à¸µà¹à¸à¸¸à¹à¸à¸à¸µà¹à¹à¸à¸°à¸à¸³",automaticTranslationLabel:"à¹à¸à¸¥à¹à¸à¹à¸{language}à¹à¸à¸¢à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´",dictionaryCountAndSize:"{count, plural, other {à¸à¸à¸à¸²à¸à¸¸à¸à¸£à¸¡ # รายà¸à¸²à¸£}} · {size}",setupProgress:"à¸à¸±à¹à¸à¸à¹à¸²à¸ าษา {current} à¸à¸²à¸ {total}",continueAction:"à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¸à¹à¸",originalDefinitionLabel:"à¸à¸³à¸à¸³à¸à¸±à¸à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸±à¸ ({language})",interfaceRtlVerificationPending:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸¥à¸¢à¹à¹à¸à¸²à¸à¹à¸à¸²à¸à¸à¸§à¸²à¹à¸à¸à¹à¸²à¸¢à¸¢à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸¢à¸¹à¹",interfaceTranslationPending:"à¸à¸²à¸£à¹à¸à¸¥à¸¢à¸±à¸à¸à¸³à¹à¸à¸´à¸à¸à¸¢à¸¹à¹"});A("tl","machine-draft",{setupTitle:"I-set up ang Yomu sa iyong wika",learnerLanguageLabel:"Iyong wika",targetLanguageLabel:"Wikang pinag-aaralan mo",targetJapanese:"Wikang Hapon",recommendedDictionariesTitle:"Mga inirerekomendang diksyunaryo ng wikang Hapon",automaticTranslationLabel:"Awtomatikong isalin sa {language}",dictionaryCountAndSize:"{count, plural, one {# diksyunaryo} other {# diksyunaryo}} · {size}",setupProgress:"Pag-set up ng wika: {current} sa {total}",continueAction:"Magpatuloy",originalDefinitionLabel:"Orihinal na depinisyon ({language})",interfaceRtlVerificationPending:"Tumatakbo pa ang mga pagsusuri sa layout mula kanan pakaliwa.",interfaceTranslationPending:"Isinasalin pa ito."});A("tr","machine-draft",{setupTitle:"Yomu'yu dilinizde ayarlayın",learnerLanguageLabel:"Diliniz",targetLanguageLabel:"ÃÄrendiÄiniz dil",targetJapanese:"Japonca",recommendedDictionariesTitle:"Ãnerilen Japonca sözlükler",automaticTranslationLabel:"Otomatik olarak {language} diline çevir",dictionaryCountAndSize:"{count, plural, one {# sözlük} other {# sözlük}} · {size}",setupProgress:"Dil ayarı: {current}/{total}",continueAction:"Devam et",originalDefinitionLabel:"Orijinal tanım ({language})",interfaceRtlVerificationPending:"SaÄdan sola yerleÅim denetimleri hâlâ sürüyor.",interfaceTranslationPending:"Ãeviri hâlâ sürüyor."});A("vi","machine-draft",{setupTitle:"Thiết láºp Yomu bằng ngôn ngữ cá»§a bạn",learnerLanguageLabel:"Ngôn ngữ cá»§a bạn",targetLanguageLabel:"Ngôn ngữ bạn Äang há»c",targetJapanese:"Tiếng Nháºt",recommendedDictionariesTitle:"Từ Äiá»n tiếng Nháºt ÄÆ°á»£c Äá» xuất",automaticTranslationLabel:"Tá»± Äá»ng dá»ch sang {language}",dictionaryCountAndSize:"{count, plural, other {# từ Äiá»n}} · {size}",setupProgress:"Thiết láºp ngôn ngữ: {current} trên {total}",continueAction:"Tiếp tục",originalDefinitionLabel:"Äá»nh nghÄ©a gá»c ({language})",interfaceRtlVerificationPending:"Viá»c kiá»m tra bá» cục từ phải sang trái vẫn Äang diá»
n ra.",interfaceTranslationPending:"Bản dá»ch vẫn Äang ÄÆ°á»£c thá»±c hiá»n."});A("yue","machine-draft",{setupTitle:"ç¨ä½ å
èªè¨è¨å®ãã",learnerLanguageLabel:"ä½ å
èªè¨",targetLanguageLabel:"ä½ å¸ç·å
èªè¨",targetJapanese:"æ¥æ",recommendedDictionariesTitle:"æ¨è¦å
æ¥æåå
¸",automaticTranslationLabel:"èªåç
3¿»è¯å{language}",dictionaryCountAndSize:"{count, plural, one {# æ¬åå
¸} other {# æ¬åå
¸}} · {size}",setupProgress:"èªè¨è¨å®ï¼ç¬¬{current}æ¥ï¼å
±{total}æ¥",continueAction:"ç¹¼çº",originalDefinitionLabel:"åæï¼{language}ï¼",interfaceRtlVerificationPending:"ç±å³è³å·¦æç檢æ¥ä»²é²è¡ä¸ã",interfaceTranslationPending:"ç¿»è¯ä»²é²è¡ä¸ã"});A("zh","machine-draft",{setupTitle:"ç¨æ¨çè¯è¨è®¾ç½®ãã",learnerLanguageLabel:"æ¨çè¯è¨",targetLanguageLabel:"æ¨æ£å¨å¦ä¹ çè¯è¨",targetJapanese:"æ¥è¯",recommendedDictionariesTitle:"æ¨èæ¥è¯è¯å
¸",automaticTranslationLabel:"èªå¨ç¿»è¯ä¸º{language}",dictionaryCountAndSize:"{count, plural, one {#é¨è¯å
¸} other {#é¨è¯å
¸}} · {size}",setupProgress:"è¯è¨è®¾ç½®ï¼ç¬¬{current}æ¥ï¼å
±{total}æ¥",continueAction:"ç»§ç»",originalDefinitionLabel:"{language}åæ",interfaceRtlVerificationPending:"ä»å³å°å·¦çç弿£æ¥ä»å¨è¿è¡ã",interfaceTranslationPending:"ç¿»è¯ä»å¨è¿è¡ä¸ã"});const Wh=["chrome","setup","errors","a11y","docs"];new Set(Wh);const Kh=[{tag:"en",reviewStatus:"source-approved",rtlVerified:!0,humanReview:{reviewer:"source locale",evidence:"English is the source of record for every message ID."},available:!0,blockers:[]},{tag:"ja",reviewStatus:"native-reviewed",rtlVerified:!0,humanReview:{reviewer:"owner",evidence:"Japanese is a shipped reference locale; tests/reader/i18n.test.ts enforces exact key parity with English and rejects the æªç¿»è¨³ placeholder."},available:!0,blockers:[]},{tag:"ar",reviewStatus:"machine-draft",rtlVerified:!1,humanReview:null,available:!1,blockers:["rtl-verification-pending","translation-incomplete","human-review-pending"]},{tag:"fa",reviewStatus:"machine-draft",rtlVerified:!1,humanReview:null,available:!1,blockers:["rtl-verification-pending","translation-incomplete","human-review-pending"]},{tag:"sq",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"grc",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"yue",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"zh",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"da",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"nl",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"fi",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"fr",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"de",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"el",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"hu",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"id",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"it",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"km",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"ko",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"lo",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"la",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"mn",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"pl",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"pt",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"ro",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"ru",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"sh",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"es",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"sv",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"tl",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"th",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"tr",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]},{tag:"vi",reviewStatus:"machine-draft",rtlVerified:!0,humanReview:null,available:!1,blockers:["translation-incomplete","human-review-pending"]}
3],Yh={items:[{id:"direction-propagation",done:!0,note:"lang/dir stamped on every reader-owned root, shadow host, overlay, popover, bottom sheet, backdrop, new-tab/study app and the hosted docs document. The host page's own documentElement is deliberately NOT touched: Yomu is injected into pages it does not own, and flipping their dir would rewrite the page a learner is reading."},{id:"logical-css-properties",done:!1,note:"Shared chrome CSS converted from margin/padding-left/right and text-align:left/right to inline logical properties. Deferred: subtitles-youtube.css and youtube-filter.css, whose offsets are computed against video frame geometry, and every `left`/`right`/`inset` used for positioning, which the plan requires to stay physical."},{id:"bidi-isolation",done:!1,note:"HALF DONE, and the half that is missing is the larger one. Substituted values ARE isolated: formatUiText routes through formatIsolated when the interface is RTL, so a term, count, version or source name interpolated into a message cannot reorder the sentence around it. NOT done: systematically wrapping the target terms, definitions, source names, URLs, codes and ke
3yboard shortcuts that chrome renders as their own elements with lang and dir=auto. Those are rendered in dozens of templates and each needs its own decision."},{id:"font-stacks",done:!0,note:"Per-script interface font stacks in the locale manifest."},{id:"geometry-verification",done:!1,note:"Popover collision/flip, selection anchor and arrow, resize/drag handles, pinned HUD, toast, bottom sheet, nested menus, vertical Japanese text and media controls under an RTL interface. Not verified."},{id:"viewport-and-zoom-matrix",done:!1,note:"Arabic, Farsi and a long pseudo-RTL locale at 320/768/1440px, 100%/200% zoom, four anchor edges, keyboard-only navigation and reduced motion. Not run."},{id:"real-app-screenshots",done:!1,note:"Approved real-app screenshots, not fixture-only proof. Only the disabled-with-reason picker state has been captured."},{id:"owner-acceptance",done:!1,note:"Explicit owner acceptance of Arabic/Farsi overlay and popover behaviour."}]},Go={locales:Kh,rtlGate:Yh},Jh=[{id:"sq",runtimeLocale:"sq",englishName:"Albanian",
3nativeName:"Shqip",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"grc",runtimeLocale:"grc",englishName:"Ancient Greek",nativeName:"á¼Î»Î»Î·Î½Î¹ÏÏί",defaultScript:"Grek",scripts:["Grek"],direction:"ltr"},{id:"ar",runtimeLocale:"ar",englishName:"Arabic",nativeName:"Ø§ÙØ¹Ø±Ø¨ÙØ©",defaultScript:"Arab",scripts:["Arab"],direction:"rtl"},{id:"yue",runtimeLocale:"yue-Hant",englishName:"Cantonese",nativeName:"ç²µèª",defaultScript:"Hant",scripts:["Hant"],direction:"ltr"},{id:"zh",runtimeLocale:"zh-Hans",englishName:"Chinese",nativeName:"䏿ï¼ç®ä½ï¼",defaultScript:"Hans",scripts:["Hans","Hant"],direction:"ltr"},{id:"da",runtimeLocale:"da",englishName:"Danish",nativeName:"Dansk",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"nl",runtimeLocale:"nl",englishName:"Dutch",nativeName:"Nederlands",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"en",runtimeLocale:"en",englishName:"English",nativeName:"English",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"fi",runtimeLocale:"fi",englishName:"Finnish",nativeName:"Suomi",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"fr",runtimeLocale:"fr",englishName:"French",nativeName:"Français",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"de",runtimeLocale:"de",englishName:"German",nativeName:"Deutsch",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"el",runtimeLocale:"el",englishName:"Greek",nativeName:"Îλληνικά",defaultScript:"Grek",scripts:["Grek"],direction:"ltr"},{id:"hu",runtimeLocale:"hu",englishName:"Hungarian",nativeName:"Magyar",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"id",runtimeLocale:"id",englishName:"Indonesian",nativeName:"Bahasa Indonesia",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"it",runtimeLocale:"it",englishName:"Italian",nativeName:"Italiano",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"km",runtimeLocale:"km",englishName:"Khmer",nativeName:"ááááá",defaultScript:"Khmr",scripts:["Khmr"],direction:"ltr"},{id:"ko",runtimeLocale:"ko",englishName:"Korean",nativeName:"íêµì´",defaultScript:"Kore",scripts:["Kore"],direction:"ltr"},{id:"lo",runtimeLocale:"lo",englishName:"Lao",nativeName:"ລາວ",defaultScript:"Laoo",scripts:["Laoo"],direction:"ltr"},{id:"la",runtimeLocale:"la",englishName:"Latin",nativeName:"Latina",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"mn",runtimeLocale:"mn-Cyrl",englishName:"Mongolian",nativeName:"Ðонгол",defaultScript:"Cyrl",scripts:["Cyrl","Mong"],direction:"ltr"},{id:"fa",runtimeLocale:"fa",englishName:"Persian",nativeName:"ÙØ§Ø±Ø³Û",defaultScript:"Arab",scripts:["Arab"],direction:"rtl"},{id:"pl",runtimeLocale:"pl",englishName:"Polish",nativeName:"Polski",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"pt",runtimeLocale:"pt",englishName:"Portuguese",nativeName:"Português",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"ro",runtimeLocale:"ro",englishName:"Romanian",nativeName:"RomânÄ",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"ru",runtimeLocale:"ru",englishName:"Russian",nativeName:"Ð ÑÑÑкий",defaultScript:"Cyrl",scripts:["Cyrl"],direction:"ltr"},{id:"sh",runtimeLocale:"sr-Latn",englishName:"Serbo-Croatian",nativeName:"Srpskohrvatski",defaultScript:"Latn",scripts:["Latn","Cyrl"],direction:"ltr"},{id:"es",runtimeLocale:"es",englishName:"Spanish",nativeName:"Español",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"sv",runtimeLocale:"sv",englishName:"Swedish",nativeName:"Svenska",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"tl",runtimeLocale:"fil",englishName:"Tagalog",nativeName:"Tagalog",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"th",runtimeLocale:"th",englishName:"Thai",nativeName:"à¹à¸à¸¢",defaultScript:"Thai",scripts:["Thai"],direction:"ltr"},{id:"tr",runtimeLocale:"tr",englishName:"Turkish",nativeName:"Türkçe",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"},{id:"vi",runtimeLocale:"vi",englishName:"Vietnamese",nativeName:"Tiếng Viá»t",defaultScript:"Latn",scripts:["Latn"],direction:"ltr"}],qh={languages:Jh},Xh=qh.languages,zo=Object.freeze(Xh.map(e=>Object.freeze({...e,scripts:Object.freeze([...e.scripts])})));new Map(zo.map(e=>[e.id,e]));const Qh=Object.freeze({id:"ja",runtimeLocale:"ja",englishName:"Japanese",nativeName:"æ¥æ¬èª",defaultScript:"Jpan",direction:"ltr"}
3),Zh=new Set(["Arab","Hebr","Thaa","Nkoo","Adlm","Syrc"]),Fo=Object.freeze({Latn:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',Grek:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',Cyrl:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',Arab:'"SF Arabic", "Geeza Pro", "Segoe UI", Tahoma, "Noto Naskh Arabic", system-ui, sans-serif',Jpan:'system-ui, -apple-system, "Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", sans-serif',Hans:'system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif',Hant:'system-ui, -apple-system, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif',Kore:'system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif',Thai:'system-ui, -apple-system, "Thonburi", "Leelawadee UI", "Noto Sans Thai", sans-serif',Laoo:'system-ui, -apple-system, "Lao Sangam MN", "Leelawadee UI", "Noto Sans Lao", sans-serif',Khmr:'system-ui, -apple-system, "Khmer Sangam MN", "Leelawadee UI", "Noto Sans Khmer", sans-serif',Mong:'system-ui, -apple-system, "Noto Sans Mongolian", sans-serif'}),ev=Fo.Latn;function tv(e){return Fo[e]??ev}function nv(e){return Zh.has(e)?"rtl":"ltr"}const av=new Map(Go.locales.map(e=>[e.tag,e]));function rv(e,t){const n=[],a=o=>{o!==e&&!n.includes(o)&&n.push(o)},r=e.split("-")[0];return a(r),a(t),t==="sh"&&(a("sr"),a("hr"),a("bs")),t==="tl"&&a("fil"),t!=="en"&&a("en"),Object.freeze(n)}function er(e){const t=av.get(e.id);if(!t)throw new Error(`Interface locale ${e.id} has no review-ledger row`);return Object.freeze({tag:e.runtimeLocale,id:e.id,fallbacks:rv(e.runtimeLocale,e.id),nativeName:e.nativeName,englishName:e.englishName,script:e.defaultScript,direction:nv(e.defaultScript),fontStack:tv(e.defaultScript),reviewStatus:t.reviewStatus,available:t.available,blockers:Object.freeze([...t.blockers])})}const it=Object.freeze([...zo.map(e=>er({...e,direction:e.direction})),er(Qh)].sort((e,t)=>{const n=a=>a==="en"?0:a==="ja"?1:2;return n(e.tag)-n(t.tag)||e.englishName.localeCompare(t.englishName,"en")})),ov=new Map([...it.map(e=>[e.id,e]),...it.map(e=>[e.tag,e])]);(()=>{const e=ov.get("en");if(!e)throw new Error("The interface manifest must always contain English");return e})();Object.freeze(it.filter(e=>e.direction==="rtl"));Object.freeze(Go.rtlGate.items.map(e=>Object.freeze({...e})));const Jn=Object.freeze([O("","index.md",["ãã | Read Japanese. Stay with the story.","ãã | æ¥æ¬èªãèªããç©èªã®ç¶ããæ¥½ããã"],["Read web pages, subtitles, manga and PDFs in any of 33 learning languages, save the words you meet, and review them with their original context. Japanese adds furigana, pitch accent and kanji study.","33ã®å¦ç¿è¨èªã®ã©ãã§ããã¦ã§ããã¼ã¸ãåå¹ã漫ç»ãPDFãèªã¿ãåºä¼ã£ãåèªãå
ã®æèã¨ä¸ç·ã«ä¿åãã¦å¾©ç¿ã§ãã¾ããæ¥æ¬èªã§ã¯ããµãããªããããã¢ã¯ã»ã³ããæ¼¢åå¦ç¿ã使ãã¾ãã"]),Ae("api/","api/index.md","Yomu API reference","Interactive OpenAPI reference for Yomu Academy, audio, support, and public edge services.","api-reference-native-review-pending"),O("changelog","changelog.md",["Changelog","夿´å±¥æ´"],["Release history for Yomu.","ããã®ãªãªã¼ã¹å±¥æ´ã§ãã"]),O("faq","faq.md",["FAQ","ãããã質å"],["What Yomu is, what it costs, how reviews work, which languages and apps it supports, and where your data lives, in plain answers.","ããã¨ã¯ä½ããè²»ç¨ã復ç¿ã®ä»çµã¿ã対å¿ããè¨èªã¨ã¢ããªããã¼ã¿ã®ä¿åå ´æãåãããããçãã¾ãã"]),O("learn/","learn/index.md",["Start here","ããããå§ãã"],["An honest starting point for learning Japanese with Yomu, covering how long it takes, what to do each day, what runs without an install, and what Yomu leaves up to you.","ããã§æ¥æ¬èªãå¦ã³å§ããããã®çç´ãªæ¡å
ã§ããå¿
è¦ãªæéãæ¯æ¥ãããã¨ãã¤ã³ã¹ãã¼ã«ãªãã§ä½¿ãããã®ãããã¦èªåã§æ±ºãããã¨ã説æãã¾ãã"]),O("learn/approach","learn/approach.md",["The approach","å¦ã³æ¹"],["Why comprehensible input, frequent reading and a small amount of review work together when you are learning Japanese.","çè§£ã§ããã¤ã³ããããé »ç¹ãªèªæ¸ãå°éã®å¾©ç¿ããæ¥æ¬èªå¦ç¿ã§ã©ãä¸ç·ã«åããã説æãã¾ãã"]),O("learn/building-a-core","learn/building-a-core.md",["Building a core","åºç¤èªå½ãä½ã"],["Build a useful base of frequent Japanese words without mistaking a vocabulary count for reading ability.","èªå½æ°ãèªè§£åã¨åãéãããé »åºããæ¥æ¬èªã®å½¹ç«ã¤åå°ãä½ãã¾ãã"]),O("learn/keeping-words","learn/keeping-words.md",["Keeping words","åèªãæ®ã"],["Save words with their original context, review them through active recall, and use Yomu Study with local or connected sources.","åèªãå
ã®æèã¨ä¸ç·ã«ä¿åããè½åçã«æãåºãã¦å¾©ç¿ãã端æ«å
ã¾ãã¯æ¥ç¶ããåºå
¸ã¨ããStudyã使ãã¾ãã"]),O("learn/manga-and-games","learn/manga-and-games.md",["Manga and games","漫ç»ã¨ã²ã¼ã "],["Read Japanese trapped inside manga panels, screenshots and game frames with OCR, and choose which service sees your page images.","OCRã§æ¼«ç»ã®ã³ããã¹ã¯ãªã¼ã³ã·ã§ãããã²ã¼ã ç»é¢ã®ä¸ã«ããæ¥æ¬èªãèªã¿ããã¼ã¸ç»åãè¦ãããµã¼ãã¹ãèªåã§é¸ã¹ã¾ãã"]),O("learn/reading","learn/reading.md",["Reading","èªã"],["Use tadoku, popup lookup, furigana, PDFs and kanji drilldown to read Japanese for the story instead of stopping at every word.","å¤èªããããã¢ããæ¤ç´¢ããµãããªãPDFãæ¼¢åã®æãä¸ãã使ãããã¹ã¦ã®åèªã§æ¢ã¾ããç©èªã®ããã«æ¥æ¬èªãèªã¿ã¾ãã"]),O("learn/reference","learn/reference.md",["Reference","ãªãã¡ã¬ã³ã¹"],["Find every Yomu setting, feature, app, policy and troubleshooting page after you have learned the main reading and study loop.","èªããã¨ã¨å¾©ç¿ã®åºæ¬çãªæµããè¦ããå¾ã«ãããã®å
¨è¨å®ãæ©è½ãã¢ããªãæ¹éãåé¡è§£æ±ºãã¼ã¸ãæ¢ãã¾ãã"]),O("learn/staying-with-it","learn/staying-with-it.md",["Staying with it","ç¶ãã"],["Return after a break, handle a large review backlog, and use streaks as a record of effort instead of a punishment.","䏿å¾ã«æ»ããå¤ãå¾©ç¿æ®ãæ±ããé£ç¶è¨é²ãç½°ã§ã¯ãªãåªåã®è¨é²ã¨ãã¦ä½¿ãã¾ãã"]),O("learn/watching","learn/watching.md",["Watching","観ã"],["Learn from Japanese video with lookup-ready subtitles, a transcript, shadowing, batch mining and a YouTube feed tuned toward useful input.","æ¤ç´¢ã§ããåå¹ãæåèµ·ãããã·ã£ãã¼ã¤ã³ã°ã䏿¬æ¡éãå½¹ç«ã¤ã¤ã³ãããã¸èª¿æ´ããYouTubeãã£ã¼ãã§ãæ¥æ¬èªåç»ããå¦ã³ã¾ãã"]),O("learn/week-one","learn/week-one.md",["Week one","æåã®ä¸é±é"],["Learn kana, install Yomu, look up a first word, leave furigana on, and begin with Japanese you can nearly follow.","ä»®åãè¦ãããããå
¥ããæåã®åèªã調ã¹ããµãããªã表示ããã¾ã¾ãã»ã¨ã
3ã©åããæ¥æ¬èªããå§ãã¾ãã"]),O("learn/your-own-setup","learn/your-own-setup.md",["Your own setup","èªåã®ç°å¢"],["Connect dictionaries, audio, Anki, Jiten, Bunpro, JPDB and WaniKani, sync devices, and see which planned integrations are still in development.","è¾æ¸ãé³å£°ãAnkiãJitenãBunproãJPDBãWaniKaniãæ¥ç¶ãã端æ«ãåæããäºå®ããã¦ãã飿ºã®ãã¡éçºä¸ã®ãã®ã確èªãã¾ãã"]),Ae("local-audio","local-audio.md","Local Audio","Hear Japanese words read aloud in Yomu. Hosted audio is on by default; add your own source or play pronunciation files from your own computer if you want more.","local-audio-native-review-pending"),Ae("library/","library/index.md","Read","Browse free Japanese books by level and interest, or open your own PDF.","library-native-review-pending"),O("membership","membership.md",["Membership","ã¡ã³ãã¼ã·ãã"],["Yomu is free and stays free. Chip in toward its small monthly bill through a verified support provider.","ããã¯ç¡æã§ããããããç¡æã§ããç¢ºèªæ¸ã¿ã®æ¯æ´ãµã¼ãã¹ãããå°é¡ã®æééå¶è²»ãæ¯æ´ã§ãã¾ãã"]),Ae("privacy/","privacy/index.md","Privacy","What Yomu keeps on your device, which services it talks to and when, and what the browser extension asks for.","privacy-native-review-pending"),O("reference/grammar","reference/grammar.md",["Grammar coverage","ææ³å¯¾å¿ç¶æ³"],["See which learning targets have local grammar detection and which open a checked grammar reference.","å¦ç¿å¯¾è±¡ãã¨ã®ç«¯æ«å
ææ³æ¤åºã®æç¡ã¨ãç¢ºèªæ¸ã¿ææ³ãªãã¡ã¬ã³ã¹ã¸ã®ãªã³ã¯ã確èªã§ãã¾ãã"]),Ae("reference/settings","reference/settings.md","Settings reference","Every Yomu setting, its default, and the part of the settings dialog that holds it.","generated-settings-native-review-pending"),O("support","support.md",["Support","ãµãã¼ã"],["Get help with Yomu, ask on Discord, report a bug, or open the apps used for reading and study.","ããã®ãã«ããæ¢ããDiscordã§è³ªåãããã°ãå ±åããèªæ¸ã¨å¾©ç¿ã«ä½¿ãã¢ããªãéãã¾ãã"])]),iv=new Map(Jn.map(e=>[e.route,e]));new Map(Jn.map(e=>[e.source,e]));const sv=new Map(Jn.map(e=>[Uo(e.route),e]));function cv(e){return iv.get(e)??sv.get(Uo(e))}function lv(e,t){return e.locales[t]}function qn(e,t){const n=cv(e);return!!(n&&lv(n,t))}function O(e,t,n,a){return Object.freeze({route:e,source:t,locales:Object.freeze({en:mn("source-approved",n[0],a[0]),ja:mn("native-reviewed",n[1],a[1])}),blockers:Object.freeze({})})}function Ae(e,t,n,a,r){return Object.freeze({route:e,source:t,locales:Object.freeze({en:mn("source-approved",n,a),ja:void 0}),blockers:Object.freeze({ja:r})})}function mn(e,t,n){return Object.freeze({reviewStatus:e,title:t,description:n})}function Uo(e){return e.split(/[?#]/,1)[0].replace(/^\/+|\/+$/g,"")}const uv=Object.freeze({en:{reviewStatus:"source-approved",routePrefix:""},ja:{reviewStatus:"native-reviewed",routePrefix:"/ja"}}),dv=Object.freeze(it.map(e=>hv(e))),fv=new Map(dv.flatMap(e=>[[e.id,e],[e.tag,e]]));function mv(e){return fv.get(e)}function Xn(e){return e==="/ja"||e.startsWith("/ja/")?"ja":"en"}function Se(e,t){return Yo[e][t]}function Wo(e,t){return yv(e,t)}function Ko(e,t){return t==="en"||!bv(e)?e:wv(e,t)}function gv(e,t){if(t==="en")return Kt(e);if(!qn(e,t))throw new Error(`Website route ${Kt(e)} is not reviewed for ${t}`);const n=Kt(e);return n==="/"?"/ja/":`/ja${n}`}function pv(e,t){const n=e.replace(/^\/ja(?=\/|$)/,"")||"/";return qn(n,t)?gv(n,t):t==="ja"?"/ja/":"/"}function hv(e){const t=vv(e);return t?e.available?Object.freeze({id:e.id,tag:e.tag,label:e.nativeName,englishName:e.englishName,direction:e.direction,fontStack:e.fontStack,routePrefix:t.routePrefix,reviewStatus:t.reviewStatus,available:!0,blockers:Object.freeze([])}):tr(e,"interface-locale-unavailable"):tr(e,"website-native-review-pending")}function vv(e){if(!(e.id!=="en"&&e.id!=="ja"))return uv[e.id]}function tr(e,t){return Object.freeze({id:e.id,tag:e.tag,label:e.nativeName,englishName:e.englishName,direction:e.direction,fontStack:e.fontStack,routePrefix:"",reviewStatus:"unavailable",available:!1,blockers:Object.freeze([t,...e.blockers])})}function yv(e,t){const n=kv[e];return n?Se(n,t):e}function Kt(e){return e==="/"?"/":`/${e.replace(/^\/+/,"")}`}function bv(e){return e.startsWith("/")?!e.startsWith("//"):!1}
3function wv(e,t){const n=new URL(e,"https://yomu.invalid");return n.pathname==="/ja"||n.pathname.startsWith("/ja/")||!qn(n.pathname,t)?e:(n.pathname=Sv(n.pathname),`${n.pathname}${n.search}${n.hash}`)}function Sv(e){return e==="/"?"/ja/":`/ja${e}`}const Yo=Object.freeze({"docs.site.title":{en:"ãã - Read your learning language",ja:"ãã - å¦ç¿ãã¦ããè¨èªãèªã"},"docs.site.description":{en:"Yomu helps you read in any of 33 learning languages. Look up words on web pages, images, game text, PDFs, and subtitles, save useful sentences, and review them in context. Japanese adds furigana, pitch accent, kanji study, and deeper grammar.",ja:"ããã¯ã33ã®å¦ç¿è¨èªã®ã©ãã§ãèªãããã®ãã¼ã«ã§ããã¦ã§ããã¼ã¸ãç»åãã²ã¼ã ãPDFãåå¹ã®åèªã調ã¹ãå½¹ç«ã¤æãä¿åããæèã¨ä¸ç·ã«å¾©ç¿ã§ãã¾ããæ¥æ¬èªã§ã¯ããµãããªããããã¢ã¯ã»ã³ããæ¼¢åå¦ç¿ãããæ·±ãææ³ã使ãã¾ãã"},"docs.site.logoAlt":{en:"ãã app icon",ja:"ããã®ã¢ããªã¢ã¤ã³ã³"},"docs.site.imageAlt":{en:"ãã app icon and reader preview card with a Japanese example",ja:"ããã®ã¢ããªã¢ã¤ã³ã³ã¨æ¥æ¬èªä¾ã使ã£ããªã¼ãã¼ã®ãã¬ãã¥ã¼ã«ã¼ã"},"docs.nav.learningPath":{en:"Learning path",ja:"å¦ç¿ã®éç"},"docs.nav.read":{en:"Read",ja:"èªã"},"docs.nav.watch":{en:"Watch",ja:"観ã"},"docs.nav.apps":{en:"Apps",ja:"ã¢ããª"},"docs.nav.study":{en:"Study",ja:"å¦ç¿"},"docs.nav.academy":{en:"Academy",ja:"ã¢ã«ããã¼"},"docs.nav.help":{en:"Help",ja:"ãã«ã"},"docs.nav.membership":{en:"Membership",ja:"ã¡ã³ãã¼ã·ãã"},"docs.nav.more":{en:"More",ja:"ãã®ä»"},"docs.nav.videoPlayer":{en:"Video Player",ja:"åç»ãã¬ã¤ã¤ã¼"},"docs.nav.pdfReader":{en:"PDF Reader",ja:"PDFãªã¼ãã¼"},"docs.nav.stats":{en:"Stats",ja:"çµ±è¨"},"docs.nav.api":{en:"API",ja:"API"},"docs.nav.localAudio":{en:"Local Audio",ja:"ãã¼ã«ã«é³å£°"},"docs.nav.settingsReference":{en:"Settings reference",ja:"è¨å®ãªãã¡ã¬ã³ã¹"},"docs.nav.faq":{en:"FAQ",ja:"ãããã質å"},"docs.nav.changelog":{en:"Changelog",ja:"夿´å±¥æ´"},"docs.nav.privacy":{en:"Privacy",ja:"ãã©ã¤ãã·ã¼"},"docs.sidebar.learnJapanese":{en:"Learn Japanese",ja:"æ¥æ¬èªãå¦ã¶"},"docs.sidebar.start":{en:"0. Start here",ja:"0. ããããå§ãã"},"docs.sidebar.approach":{en:"1. The approach",ja:"1. å¦ã³æ¹"},"docs.sidebar.weekOne":{en:"2. Week one",ja:"2. æåã®ä¸é±é"},"docs.sidebar.core":{en:"3. Building a core",ja:"3. åºç¤èªå½ãä½ã"},"docs.sidebar.reading":{en:"4. Reading",ja:"4. èªã"},"docs.sidebar.watching":{en:"5. Watching",ja:"5. 観ã"},"docs.sidebar.mangaGames":{en:"6. Manga and games",ja:"6. 漫ç»ã¨ã²ã¼ã "},"docs.sidebar.keepingWords":{en:"7. Keeping words",ja:"7. åèªãæ®ã"},"docs.sidebar.staying":{en:"8. Staying with it",ja:"8. ç¶ãã"},"docs.sidebar.setup":{en:"9. Your own setup",ja:"9. èªåã®ç°å¢"},"docs.sidebar.reference":{en:"10. Reference",ja:"10. åèè³æ"},"docs.sidebar.appsOverview":{en:"Apps overview",ja:"ã¢ããªä¸è¦§"},"docs.sidebar.yomuGaming":{en:"Yomu Gaming",ja:"Yomu Gaming"},"docs.sidebar.referenceHelp":{en:"Reference and help",ja:"åèè³æã¨ãã«ã"},"docs.sidebar.homepage":{en:"Homepage",ja:"ãã¼ã ãã¼ã¸"},"docs.sidebar.grammar":{en:"Grammar coverage",ja:"ææ³å¯¾å¿ç¶æ³"},"docs.nav.support":{en:"Support",ja:"ãµãã¼ã"},"docs.footer.message":{en:"Free and open source. Install as a userscript, or as a Chrome or Firefox extension.",ja:"ç¡æã®ãªã¼ãã³ã½ã¼ã¹ã§ããã¦ã¼ã¶ã¼ã¹ã¯ãªãããChromeæ¡å¼µæ©è½ãFirefoxæ¡å¼µæ©è½ã¨ãã¦ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã"},"docs.footer.copyright":{en:"Released under the MIT license.",ja:"MITã©ã¤ã»ã³ã¹ã§å
¬éãã¦ãã¾ãã"},"docs.theme.menu":{en:"Menu",ja:"ã¡ãã¥ã¼"},"docs.theme.languageMenu":{en:"Change language",ja:"è¨èªã夿´"},"docs.theme.mainNavigation":{en:"Main Navigation",ja:"ã¡ã¤ã³ããã²ã¼ã·ã§ã³"},"docs.theme.extraNavigation":{en:"extra navigation",ja:"ã¡ãã¥ã¼"},"docs.theme.mobileNavigation":{en:"mobile navigation",ja:"ã¢ãã¤ã«ããã²ã¼ã·ã§ã³"},"docs.theme.sidebarMenu":{en:"Menu",ja:"ã¡ãã¥ã¼"},"docs.theme.returnTop":{en:"Return to top",ja:"ãã¼ã¸ä¸é¨ã¸æ»ã"},"docs.theme.outline":{en:"On this page",ja:"ãã®ãã¼ã¸ã®å
容"},"docs.theme.lastUpdated":{en:"Last updated",ja:"æçµæ´æ°"},"docs.theme.darkMode":{en:"Appearance",ja:"å¤è¦³"},"docs.theme.lightMode":{en:"Switch to light theme",ja:"ã©ã¤ããã¼ãã«åãæ¿ã"},"docs.theme.darkTheme":{en:"Switch to dark theme",ja:"ãã¼ã¯ãã¼ãã«åãæ¿ã"},"docs.theme.previous":{en:"Previous page",ja:"åã®ãã¼ã¸"},"docs.theme.next":{en:"Next page",ja:"次ã®ãã¼ã¸"},"docs.theme.skip":{en:"Skip to content",ja:"æ¬æã¸ã¹ããã"},"docs.search.open":{en:"Search",ja:"æ¤ç´¢"},"docs.search.openLabel":{en:"Search documentation",ja:"ããã¥ã¡ã³ããæ¤ç´¢"},"docs.search.displayDetails":{en:"Display detailed list",ja:"詳細ãªä¸è¦§ã表示"}
3,"docs.search.reset":{en:"Reset search",ja:"æ¤ç´¢ããªã»ãã"},"docs.search.back":{en:"Close search",ja:"æ¤ç´¢ãéãã"},"docs.search.noResults":{en:"No results found",ja:"æ¤ç´¢çµæãããã¾ãã"},"docs.search.select":{en:"to select",ja:"ã§é¸æ"},"docs.search.navigate":{en:"to navigate",ja:"ã§ç§»å"},"docs.search.close":{en:"to close",ja:"ã§éãã"},"docs.media.youtubeVideo":{en:"YouTube video",ja:"YouTubeåç»"}}),kv=Object.freeze(Object.fromEntries(Object.entries(Yo).filter(([e])=>e.startsWith("docs.nav.")||e.startsWith("docs.sidebar.")).map(([e,t])=>[t.en,e]))),st="/membership",Ue="yomu-membership-dialog",Jo='a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])',Ev=Object.freeze([{id:"kofi",name:"Ko-fi",href:"https://ko-fi.com/yomureader",detail:"One-off or monthly."},{id:"patreon",name:"Patreon",href:"https://www.patreon.com/yomureader",detail:"Monthly."},{id:"card",name:"Card",href:"https://support.yomureader.com/donate",detail:"One-off in GBP, USD, EUR, CAD, AUD or JPY."}]);let B,Ie,nr=!1;function Lv(){window.addEventListener("click",_v,{capture:!0})}function _v(e){if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const t=Tv(e.target);if(!t)return;const n=t.getAttribute("href")??st;e.preventDefault(),e.stopImmediatePropagation();try{Av(t)}catch{window.location.assign(n)}}function Tv(e){if(!(e instanceof Element))return;const t=e.closest("a[href]");if(t&&!t.closest(`#${Ue}`)&&ar(window.location.pathname)!==st)return ar(t.getAttribute("href")??"")===st?t:void 0}function ar(e){try{const t=new URL(e,window.location.origin);return t.origin!==window.location.origin?void 0:t.pathname.replace(/\.html$/,"").replace(/\/$/,"")||"/"}catch{return}}function Av(e){var t;Ie=e,B??(B=Rv()),B.isConnected||document.body.append(B),B.hidden=!1,document.documentElement.dataset.yomuMembershipOpen="true",qo(!0),nr||(document.addEventListener("keydown",Pv,!0),nr=!0),(t=B.querySelector(Jo))==null||t.focus()}function gn(){!B||B.hidden||(B.hidden=!0,delete document.documentElement.dataset.yomuMembershipOpen,qo(!1),Ie==null||Ie.focus(),Ie=void 0)}function qo(e){for(const t of document.body.children)if(!(!(t instanceof HTMLElement)||t===B)){if(e){t.inert||(t.dataset.yomuMembershipInerted="true"),t.inert=!0;continue}t.dataset.yomuMembershipInerted&&(t.inert=!1,delete t.dataset.yomuMembershipInerted)}}function Pv(e){if(!B||B.hidden)return;if(e.key==="Escape"){e.preventDefault(),gn();return}if(e.key!=="Tab")return;const t=[...B.querySelectorAll(Jo)].filter(o=>o.offsetParent!==null);if(!t.length)return;const n=t[0],a=t[t.length-1],r=document.activeElement;e.shiftKey&&(r===n||!B.contains(r))?(e.preventDefault(),a.focus()):!e.shiftKey&&r===a&&(e.preventDefault(),n.focus())}function Rv(){const e=document.createElement("div");e.className="yomu-membership-backdrop",e.hidden=!0,e.addEventListener("click",s=>{s.target===e&&gn()});const t=document.createElement("div");t.id=Ue,t.className="yomu-membership-panel",t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.setAttribute("aria-labelledby",`${Ue}-title`);const n=document.createElement("h2");n.id=`${Ue}-title`,n.className="yomu-membership-title",n.textContent="Membership";const a=document.createElement("p");a.className="yomu-membership-lead",a.textContent="Yomu is free and the reader stays free. Membership pays for building it, and includes Academy when it opens.";const r=document.createElement("ul");r.className="yomu-membership-methods";for(const s of Ev){const l=document.createElement("li"),p=document.createElement("a");p.className="yomu-membership-method",p.href=s.href,p.dataset.yomuMembershipMethod=s.id,s.href.startsWith("http")&&(p.rel="noopener",p.target="_blank");const k=document.createElement("strong");k.textContent=s.name;const h=document.createElement("span");h.textContent=s.detail,p.append(k,h),l.append(p),r.append(l)}const o=document.createElement("a");o.className="yomu-membership-more",o.href=st,o.textContent="What members get";const i=document.createElement("button");return i.type="button",i.className="yomu-membership-close",i.textContent="Close",i.addEventListener("click",gn),t.append(i,n,a,r,o),e.append(t),e}const Nv={English:"en",æ¥æ¬èª:"ja"};function $v(e){Iv(),Vv(),Mv(),Ov(e)}function Iv(){const e=Xn(window.location.pathname),t=mv(e);t&&(document.documentElement.lang=t.tag,document.documentElement.dir=t.direction)}function Vv(){const e=document.querySelectorAll(".VPNavBarTranslations, .VPNavBarExtra, .VPNavScreenTranslations"),t=new Set;e.forEach(n=>
3{n.querySelectorAll("a[href]").forEach(a=>t.add(a))}),t.forEach(n=>{var r;const a=Nv[((r=n.textContent)==null?void 0:r.trim())??""];a&&(n.setAttribute("href",pv(window.location.pathname,a)),n.setAttribute("target","_self"))})}function Mv(){const e=Xn(window.location.pathname),t=document.getElementById("main-nav-aria-label");t&&(t.textContent=Se("docs.theme.mainNavigation",e)),document.querySelectorAll(".VPNavBarHamburger").forEach(n=>{n.setAttribute("aria-label",Se("docs.theme.mobileNavigation",e))}),document.querySelectorAll(".VPNavBarExtra > button[aria-label]").forEach(n=>{n.setAttribute("aria-label",Se("docs.theme.extraNavigation",e))})}function Ov(e){const t=Cv(e);t&&(document.head.querySelectorAll("[data-yomu-route-head]").forEach(n=>n.remove()),t.forEach(([n,a,r])=>{const o=document.createElement(n);Object.entries(a).forEach(([i,s])=>{o.setAttribute(i,s)}),r!==void 0&&(o.textContent=r),document.head.append(o)}))}function Cv(e){return Array.isArray(e)?e:void 0}const Qn="jpdb-popup-reader-settings",rr="vitepress-theme-appearance",kt="yomu-settings-change",jv="yomu-open-settings",xv="yomu-hosted-runtime",Dv=hd.version,Hv="yomu-hosted-demo-runtime",Bv="https://support.yomureader.com/status",Gv="https://yomu-support.henry-robert-christopher-russell.workers.dev/status",Xo="yomu-support-banner",Qo="yomu-support-banner-dismissed-version",zv=new Set(["127.0.0.1","localhost","::1"]),Zo="[data-yomu-hosted-overflow]",ei="[data-yomu-hosted-mobile-settings]",or=160,ir=500,Fv=2500,Uv=15e3,Wv=/[\u3040-\u30ff\u3400-\u9fff]/u,Kv=["[data-yomu-runtime-surface]",".VPHero",".VPHomeHero",".VPFeatures",".yomu-install-panel",".yomu-hosted-overflow-group",".yomu-link-grid",".vp-doc"].join(",");let Yt,sr=!1,cr=!1,We,Ke,me={},lr=Promise.resolve(),ur,Ye,dr="",ye,W,ct,ie,le,fr=!1,mr=!1;const Yv=Fh(),Jv=new Set(["auto","dark","light"]);function qv(){const e=document.querySelector("#VPContent");if(Xv(),!!e){if(e.querySelector("main")){e.removeAttribute("role");return}e.setAttribute("role","main")}}function Xv(){const e=document.querySelector(".VPSkipLink");if(!e||e.closest("[data-yomu-skip-links]"))return;const t=document.createElement("nav");t.className="yomu-skip-links",t.dataset.yomuSkipLinks="true",t.setAttribute("aria-label","Skip links"),e.before(t),t.append(e)}function F(){return Xn(window.location.pathname)}function Qv(){Zv(),ny()}function Zv(){const e=document.querySelector(".VPNavBarExtra");e&&(e.classList.add("yomu-hosted-extra"),ey(e),ty(e))}function ey(e){const t=e.querySelector(":scope > button.button");t&&(t.setAttribute("aria-label",Se("docs.theme.menu",F())),t.removeAttribute("title"))}function ty(e){const t=e.querySelector(".VPMenu");t&&(t.querySelector(Zo)||t.prepend(ay()))}function ny(){const e=document.querySelector("#NavScreenGroup-more");!e||e.querySelector(ei)||e.prepend(oy())}function ay(){const e=document.createElement("div");e.className="group yomu-hosted-overflow-group",e.dataset.yomuHostedOverflow="true";const t=document.createElement("div");return t.className="yomu-hosted-overflow-list",t.append(ry(),...Yv.map(sy)),e.append(t),e}function ry(){const e=F(),t=document.createElement("button");return t.className="yomu-hosted-overflow-link",ti(t,e,ai),t}function oy(){const e=F(),t=document.createElement("div");t.className="item yomu-hosted-mobile-settings-item",t.dataset.yomuHostedMobileSettings="true";const n=document.createElement("button");return n.className="yomu-hosted-mobile-settings-button",ti(n,e,()=>{iy(),ai()}),t.append(n),t}function ti(e,t,n){e.type="button",e.textContent=Wo("Settings reference",t),e.setAttribute("aria-label",t==="ja"?"è¨å®ãéã":"Open settings"),cy(e),e.addEventListener("click",n)}function iy(){const e=document.querySelector('.VPNavBarHamburger[aria-expanded="true"]');e==null||e.click()}function sy(e){const t=F(),n=document.createElement("a");return n.className="yomu-hosted-overflow-link",n.href=Ko(e.href,t),n.textContent=Wo(e.text,t),e.target&&(n.target=e.target),n}function cy(e){const t=()=>ni(),n={passive:!0,once:!0};e.addEventListener("pointerenter",t,n),e.addEventListener("pointerdown",t,n),e.addEventListener("touchstart",t,n),e.addEventListener("focusin",t,{once:!0})}function ni(){return je()}function ai(){const e=ni(),t=()=>document.querySelector(".jpdb-reader-settings")?!0:(window.dispatchEvent(new CustomEvent(jv,{detail:{panel:"basics"}})),!!document.querySelector(".jpdb-reader-settings"));t()||(e==null||e.then(()=>window.requestAnimationFrame(t)).catch(()=>{}
3),[50,120,240,480,900,1500].forEach(n=>window.setTimeout(t,n)))}function ri(){return ly(localStorage.getItem(Qn)??"{}")}function oi(){return{...ri(),...me}}function ly(e){try{return uy(JSON.parse(e))}catch{return{}}}function uy(e){return ii(e)?e:{}}function ii(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function dy(e){var t;We=e,Ve(),!cr&&(cr=!0,window.addEventListener(kt,n=>{const a=Zn(n);if(!a)return;si(a.settings,!a.preview);const r=ea(a.settings.theme);r&&Ve(r)}),window.addEventListener("storage",n=>{(n.key===Qn||n.key===null)&&(me={},Ve())}),(t=window.matchMedia)==null||t.call(window,"(prefers-color-scheme: dark)").addEventListener("change",()=>{Et()==="auto"&&Ve()}))}function fy(){bn("toggle-appearance",()=>{const e=ui(Et());my(e==="dark"?"light":"dark")})}function my(e){gy(e),Ve(e),window.dispatchEvent(new CustomEvent(kt,{detail:{settings:{theme:e}}}))}function gy(e){ci({theme:e},{userChoice:!0})}function Ve(e=Et()){const t=li(e),n=ui(t);We&&We.value!==(n==="dark")&&(We.value=n==="dark"),document.documentElement.classList.toggle("dark",n==="dark"),py(t,n),be()}function py(e,t){var a;const n=e==="auto"?"auto":t;localStorage.setItem(rr,n),(a=window.requestAnimationFrame)==null||a.call(window,()=>{Et()===e&&localStorage.setItem(rr,n)})}function Zn(e){const t=hy(e);if(ii(t.settings))return{settings:t.settings,preview:t.preview===!0}}function hy(e){return e.detail??{}}function si(e,t){const n=vy(e);Object.keys(n).length&&(me={...me,...n},t&&ci(n))}function vy(e){const t={},n=ea(e.theme),a=$r(e.accentColor),r=by(e.interfaceLanguage);return n&&(t.theme=n),a&&(t.accentColor=a),r&&(t.interfaceLanguage=r),t}function ci(e,t={}){me={...me,...e},yy(e,t.userChoice===!0)}function yy(e,t=!1){lr=lr.then(async()=>{try{await rh(e,t)}catch{}})}function Et(){return li(oi().theme)}function li(e,t="auto"){return ea(e)??t??"auto"}function ea(e){return typeof e=="string"&&Jv.has(e)?e:void 0}function by(e){return e==="auto"||e==="en"||e==="ja"?e:void 0}function ui(e){var t;return e==="dark"||e==="light"?e:(t=window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function wy(){be(),!sr&&(sr=!0,window.addEventListener(kt,be),window.addEventListener("storage",e=>{(e.key===Qn||e.key===null)&&(me={},be())}),ur=new MutationObserver(be),ur.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}))}function be(e){var i;if(e instanceof Event){const s=Zn(e);s&&si(s.settings,!s.preview)}const t=Ee(oi().accentColor),n=document.documentElement,a=n.classList.contains("dark"),r=`${t}|${a?"dark":"light"}`;if(dr===r)return;dr=r;const o=Ed(t,a);for(const[s,l]of Object.entries(o))n.style.setProperty(s,l);(i=document.querySelector('meta[name="theme-color"]'))==null||i.setAttribute("content",t)}function Sy(){document.documentElement.setAttribute("data-yomu-annotation-scope","surface"),ky()}function ky(){const e=document.getElementById("VPContent");if(!e)return;const t=F()==="ja";gr(e,t);for(const n of[".VPNav",".VPLocalNav",".VPSidebar"])document.querySelectorAll(n).forEach(a=>gr(a,t))}function gr(e,t){t?e.setAttribute("data-yomu-runtime-surface",""):e.removeAttribute("data-yomu-runtime-surface")}function Ey(){di(),Ly(),wy(),!fr&&(fr=!0,Ye??(Ye=pi(ri())),window.addEventListener(kt,Yy))}function di(){var e,t,n;$v((e=Ke==null?void 0:Ke.value)==null?void 0:e.yomuWebsiteRouteHead),Sy(),qv(),xh(F()),(t=document.querySelector(Zo))==null||t.remove(),(n=document.querySelector(ei))==null||n.remove(),Qv(),_y(),hi(),Jy(),be()}function Ly(){"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js",{scope:"/"}).catch(()=>{})}function _y(){const e=document.getElementById(Xo);if(e){Yt&&e.replaceWith(pr(Yt));return}Ty().then(t=>{if(!Py(t))return;Yt=t;const n=pr(t),a=document.querySelector(".VPContent");a?a.prepend(n):document.body.prepend(n)}).catch(()=>{})}async function Ty(){let e;for(const t of[Bv,Gv])try{return await Ay(t)}catch(n){e=n}throw e instanceof Error?e:new Error("Support status unavailable")}async function Ay(e){const t=new AbortController,n=window.setTimeout(()=>t.abort(),2400);try{const a=await fetch(e,{credentials:"omit",referrerPolicy:"no-referrer",signal:t.signal});if(!a.ok)throw new Error("Support status unavailable");return await a.json()}finally{window.clearTimeout(n)}}function Py(e){const t=e.banner;if((t==null?void 0:t.enabled)===!1||fi(e).length===0||!Fy(e))return!1;const n=mi(e);return Uy(n)}function pr(e){const t=F(),n=document.createElement("aside");return n.id=Xo,n.className="yomu-support-banner",n.setAttribute("aria-label",$y(t)),n.dataset.yomuSupportBanner="true",n.append(Ry(e,t),Ny(e,n,t)),n}function Ry(e,t){const n=document.createElement("div");n.className="yomu-support-banner-copy";const a=document.createElement("strong");a.textContent=Hy(e),n.append(a);const r=document.createElement("span");r.textContent=By(e),n.append(r);const o=document.createElement("a");o.className="yomu-support-banner-breakdown",o.href=Ko("/support#monthly-running-costs",t),o.textContent=t==="ja"?"å
訳":"What this covers",n.append(o);const i=Vy(e);return i&&n.append(i),n}function Ny(e,t,n){const a=document.createElement("div");a.className="yomu-support-banner-actions";
3for(const o of Oy(e))a.append(o);const r=document.createElement("button");return r.className="yomu-support-banner-close",r.type="button",r.setAttribute("aria-label",Iy(n)),r.textContent="Ã",r.addEventListener("click",()=>{Wy(mi(e)),t.remove()}),a.append(r),a}function $y(e){return e==="ja"?"ããã®éå¶æ¯æ´":"Yomu running-cost support"}function Iy(e){return e==="ja"?"æ¯æ´ç¶æ³ãéãã":"Dismiss support status"}function Vy(e){const t=My(e);if(t===null)return null;const n=document.createElement("span");n.className="yomu-support-banner-progress",n.setAttribute("role","progressbar"),n.setAttribute("aria-label",F()==="ja"?"仿ã®éå¶è²»ã«å¯¾ããæ¯æ´é¡":"Support received toward this monthâs running costs"),n.setAttribute("aria-valuemin","0"),n.setAttribute("aria-valuemax","100"),n.setAttribute("aria-valuenow",String(Math.round(t*100)));const a=document.createElement("span");return a.className="yomu-support-banner-progress-fill",a.style.width=`${Math.round(t*100)}%`,n.append(a),n}function My(e){if(typeof e.progressRatio=="number"&&Number.isFinite(e.progressRatio))return Math.min(1,Math.max(0,e.progressRatio));const t=e.donationGoalGbp,n=e.donationsThisMonthGbp??e.donationsTodayGbp;return typeof t=="number"&&t>0&&typeof n=="number"&&n>=0?Math.min(1,n/t):null}function Oy(e){return fi(e).map(Cy)}function Cy(e){const t=document.createElement("a");return t.className=e.id==="stripe"?"yomu-support-banner-donate":"yomu-support-banner-provider",t.dataset.provider=e.id??"",t.href=e.url,t.target="_blank",t.rel="noopener",t.textContent=jy(e,F()),t}function jy(e,t){return e.id==="stripe"?xy(t):[e.label,e.id,"Support"].find(Boolean)}function xy(e){return e==="ja"?"å¯ä»ãã":"Donate"}function fi(e){return(e.providers??[]).flatMap(t=>{if(!(t!=null&&t.enabled))return[];const n=Dy(t.url);return n?[{...t,url:n}]:[]})}function Dy(e){if(!e)return null;try{const t=new URL(e);return t.protocol==="https:"?t.href:null}catch{return null}}function Hy(e){return F()==="ja"?e.goalMet?"仿åã®é«éé³å£°ã®éå¶è²»ãéã¾ãã¾ããããããã¨ããããã¾ãã":"仿ã®ãæ¯æ´ã§ãåèªã»ã·ã£ãã¼ã¤ã³ã°åãã®é«éé³å£°ãéå¶ãã¾ãã":e.goalMet?"This month's fast audio bill is covered. Thank you.":"This month's support keeps fast word and shadowing audio running."}function By(e){const t=Gy(e),n=zy(e),a=F()==="ja",r=a?`æã®éå¶è²»ï¼${t}`:`Monthly running costs: ${t}`,o=a?`仿ã®ãæ¯æ´ï¼${n} / ${t}`:`Received this month: ${n} / ${t}`;return`${r} · ${o}`}function Gy(e){const t=e.display;if(t!=null&&t.goalText)return t.goalText;if(t!=null&&t.converted&&typeof t.goal=="number"&&t.currency)return ta(t.goal,t.currency);const n=e.donationGoalGbp??e.estimatedMonthlyCostGbp;return typeof n=="number"&&Number.isFinite(n)?gi(n):""}function zy(e){const t=e.display;return t!=null&&t.amountText?t.amountText:t!=null&&t.converted&&typeof t.amount=="number"&&t.currency?ta(t.amount,t.currency):gi(e.donationsThisMonthGbp??e.donationsTodayGbp??0)}function Fy(e){var t,n;return typeof((t=e.display)==null?void 0:t.goalText)=="string"&&e.display.goalText.trim()||typeof((n=e.display)==null?void 0:n.goal)=="number"&&Number.isFinite(e.display.goal)?!0:[e.donationGoalGbp,e.estimatedMonthlyCostGbp].some(a=>typeof a=="number"&&Number.isFinite(a))}function ta(e,t){const n=Math.round(e);try{const a=typeof navigator<"u"&&navigator.language||"en-GB";return new Intl.NumberFormat(a,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:0}).format(n)}catch{return`${n} ${t}`}}function mi(e){var t;return((t=e.banner)==null?void 0:t.dismissVersion)||"ultimate-audio-monthly-v1"}function Uy(e){return yp({storageKey:Qo,version:e})}function Wy(e){bp({storageKey:Qo,version:e})}function gi(e){return ta(e,"GBP")}const Ky=["furiganaMode","showFurigana","hideKnownFurigana","showPitchAccent","parserProvider","dictionaryPreferences"];function pi(e){return JSON.stringify(Ky.map(t=>e[t]??null))}function Yy(e){const t=Zn(e);if(!t)return;const n=pi(t.settings),a=Ye!==void 0&&Ye!==n;Ye=n,a&&(sh(document.body),hi())}function Jy(){tb(),eb(),qy()}function qy(){const e=document.querySelector("[data-yomu-fold-prompt]:not([data-yomu-fold-watched])");if(!e)return;e.dataset.yomuFoldWatched="true";let t=0;const n=window.setInterval(()=>{if(t+=ir,Xy()){e.dataset.yomuFoldFallbackShown||e.removeAttribute("data-yomu-runtime-missing"),window.clearInterval(n);return}t>=Fv&&(e.setAttribute("data-yomu-runtime-missing",""),e.dataset.yomuFoldFallbackShown="true"),t>=Uv&&window.clearInterval(n)},ir)}function Xy(){if(!Qy())return!1;const e=document.querySelector(".yomu-try-me-text");
3return!!e&&!(e!=null&&e.closest("[data-jpdb-reader-surface-ignore]"))&&!(e!=null&&e.querySelector("[data-jpdb-reader-surface-ignore]"))}function Qy(){if(_t().__yomuReaderAppInitialized)return!0;const e=document.getElementById(Zy);return!!(e!=null&&e.dataset.yomuRuntimeOwner)}const Zy="jpdb-reader-runtime-owner";function eb(){document.querySelectorAll(".yomu-demo-video:not([data-yomu-demo-video-bound])").forEach(e=>{var o;if(e.dataset.yomuDemoVideoBound="true",e.controls)return;const t=window.matchMedia("(prefers-reduced-motion: reduce)");let n=!1;const a=()=>{if(e.paused){n=!1,e.play().catch(()=>{});return}n=!0,e.pause()};e.addEventListener("click",a),e.addEventListener("keydown",i=>{i.key!==" "&&i.key!=="Enter"||(i.preventDefault(),a())});const r=()=>{if(!t.matches){n||e.play().catch(()=>{});return}e.pause(),e.removeAttribute("autoplay")};r(),(o=t.addEventListener)==null||o.call(t,"change",r)})}function tb(){document.querySelectorAll(".yomu-youtube-lite:not([data-yomu-youtube-bound])").forEach(e=>{e.dataset.yomuYoutubeBound="true",e.addEventListener("click",()=>ab(e))})}const nb=/^[A-Za-z0-9_-]{11}$/;function ab(e){const t=rb(e);if(!t)return;const n=ob(e),a=document.createElement("iframe");a.className="yomu-youtube-embed",a.src=`https://www.youtube-nocookie.com/embed/${encodeURIComponent(t)}?cc_load_policy=1&cc_lang_pref=ja&playsinline=1&rel=0&modestbranding=1`,a.title=n,a.allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",a.allowFullscreen=!0,a.referrerPolicy="strict-origin-when-cross-origin",e.replaceWith(a),a.focus()}function rb(e){const t=e.dataset.yomuYoutubeId;return!t||!nb.test(t)?null:t}function ob(e){const t=e.dataset.yomuYoutubeTitle;if(t)return t;const n=e.getAttribute("aria-label");return n||Se("docs.media.youtubeVideo",F())}function hi(){const e=bi(),t=sb(e);if(t!=="dormant"){lb(t);return}ib()}function ib(){const e=db();if(!e.length){Lt(),na();return}fb(e),e.some(t=>t.matches("[data-yomu-runtime-surface], .yomu-try-me-text"))&&ub(),window.requestAnimationFrame(()=>{W===e&&e.some(vi)&&je()})}function sb(e){const t=cb(e);return t!=="dormant"?t:le||yi()?"booting":"dormant"}function cb(e){return Hr(e)?e?"dormant":_t().__yomuReaderAppInitialized?"ready":"dormant":"disabled"}function lb(e){e!=="booting"&&(e==="disabled"&&Lt(),na())}function ub(){const e=()=>{W&&je()};typeof window.requestIdleCallback=="function"?window.requestIdleCallback(e,{timeout:2500}):window.setTimeout(e,350)}function db(){const e=Array.from(document.querySelectorAll("[data-yomu-runtime-surface], .yomu-try-me-text"));if(e.length)return e;if(document.documentElement.getAttribute("data-yomu-annotation-scope")==="surface")return[];const t=Array.from(document.querySelectorAll(Kv)).find(n=>!n.closest(".VPContent.is-home")&&Wv.test(n.textContent??""));return t?[t]:[]}function fb(e){if(W&&ye&&e.length===W.length&&e.every((r,o)=>(W==null?void 0:W[o])===r)){W=e;return}Lt();const t=new AbortController;ye=t,W=e;const n={passive:!0,once:!0,signal:t.signal},a=()=>je();for(const r of e)r.addEventListener("pointerenter",a,n),r.addEventListener("pointerdown",a,n),r.addEventListener("touchstart",a,n),r.addEventListener("focusin",a,{once:!0,signal:t.signal});window.addEventListener("scroll",()=>{e.some(vi)&&je()},{passive:!0,signal:t.signal}),mb(e)}function mb(e){ie==null||ie.abort();const t=new AbortController;ie=t,ct=void 0;const n=a=>{if(a.pointerType==="touch"||typeof a.clientX!="number"||typeof a.clientY!="number")return;const r=a.target instanceof Element?a.target:null,o=(r==null?void 0:r.closest(".jpdb-reader-word"))??null;ct=o&&e.some(i=>i.contains(o))?{x:a.clientX,y:a.clientY}:void 0};window.addEventListener("pointermove",n,{passive:!0,signal:t.signal}),window.addEventListener("pointerover",n,{passive:!0,signal:t.signal})}function na(){ie==null||ie.abort(),ie=void 0,ct=void 0}function vi(e){const t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight;return t.top<=n+or&&t.bottom>=-or}function je(){return Lt(),gb()??le}function Lt(){ye==null||ye.abort(),ye=void 0,W=void 0}function gb(){const e=_t(),t=bi(),n=yi();if(vb(t),yb(e,t,n))return;if(le)return le;wb(e,t);let a;
3try{a=Lp({resolveCandidates:r=>[Sb(r,t)],scriptIdPrefix:xv})}catch(r){hr(r);return}return le=a,a.catch(r=>{le===a&&(le=void 0),hr(r)}),pb(),a}function hr(e){document.documentElement.dataset.yomuHostedRuntimeGraphError="true",console.error("Hosted Yomu runtime graph failed closed.",e)}function pb(){const e=new AbortController;let t=!1;const n=()=>{t||(t=!0,e.abort(),window.clearInterval(r),window.clearTimeout(o))},a=()=>{t||!_t().__yomuReaderAppInitialized||(n(),window.setTimeout(()=>window.requestAnimationFrame(hb),250))};window.addEventListener("yomu-extension-loaded",()=>window.requestAnimationFrame(a),{once:!0,signal:e.signal});const r=window.setInterval(a,100),o=window.setTimeout(n,6e3);a()}function hb(){const e=ct;if(na(),!e)return;const t=document.elementFromPoint(e.x,e.y);if(!(t instanceof Element)||!t.closest(".jpdb-reader-word"))return;const n={bubbles:!0,cancelable:!0,view:window,clientX:e.x,clientY:e.y,pointerType:"mouse"};t.dispatchEvent(vr("pointerover",n)),t.dispatchEvent(vr("pointermove",n))}function vr(e,t){return typeof PointerEvent=="function"?new PointerEvent(e,t):new MouseEvent(e,t)}function _t(){return window}function yi(){const e=document.querySelector('script[data-yomu-hosted-runtime-role="core"]');return e instanceof HTMLScriptElement?e:null}function vb(e){var t;e&&(Eb(),(t=document.getElementById(Hv))==null||t.remove())}function yb(e,t,n){return!Hr(t)||n?!0:bb(e,t,n)}function bb(e,t,n){return e.__yomuReaderAppInitialized?t?!!n:!0:!1}function wb(e,t){t&&(e.__yomuDevRuntime=!0)}function Sb(e,t){return kb(`/${e.path}`,t)}function kb(e,t){const n=e.includes("?")?"&":"?";return t?`${e}${n}t=${Date.now()}`:`${e}${n}v=${encodeURIComponent(Dv)}`}function bi(){return zv.has(location.hostname)}function Eb(){mr||(mr=!0,"serviceWorker"in navigator&&navigator.serviceWorker.getRegistrations().then(e=>Promise.all(e.map(t=>t.unregister()))).catch(()=>{}),"caches"in window&&caches.keys().then(e=>Promise.all(e.filter(t=>t.startsWith("yomu-")||t.includes("yomu-reader")).map(t=>caches.delete(t)))).catch(()=>{}))}const Lb=b({name:"YomuLayout",setup(e,{slots:t}){const{frontmatter:n,isDark:a}=yr();return fy(),te(()=>{Ke=n,dy(a),Ey()}),()=>Oi(Pe.Layout,null,t)}}),Ab={...Pe,Layout:Lb,async enhanceApp(e){var t;if(await((t=Pe.enhanceApp)==null?void 0:t.call(Pe,e)),typeof document<"u"){Lv();const n=e.router.onAfterRouteChange;e.router.onAfterRouteChange=async a=>{await(n==null?void 0:n(a)),window.requestAnimationFrame(di)}}}};export{Ab as R,Xl as c,T as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.