diff --git a/.config/browser/extensions/surfingkeys.js b/.config/browser/extensions/surfingkeys.js
index 93b77858..68b423da 100644
--- a/.config/browser/extensions/surfingkeys.js
+++ b/.config/browser/extensions/surfingkeys.js
@@ -4,7 +4,7 @@
${Z.htmlForEach(r)}
${t}
- `},Z.defaultSelector="a[href]:not([href^=javascript])",Z.querySelectorFiltered=(e=Z.defaultSelector,t=(()=>!0))=>[...document.querySelectorAll(e)].filter(t),Z.createHints=(e=Z.defaultSelector,t=Y.dispatchMouseClick,a={})=>new Promise((n=>{Y.create(e,((...e)=>{n(...e),"function"==typeof t&&t(...e)}),a)})),Z.createHintsFiltered=(e,t,...a)=>{Z.createHints(Z.querySelectorFiltered(t,e),...a)},Z.isRectVisibleInViewport=e=>e.height>0&&e.width>0&&e.bottom>=0&&e.right>=0&&e.top<=(window.innerHeight||document.documentElement.clientHeight)&&e.left<=(window.innerWidth||document.documentElement.clientWidth),Z.isElementInViewport=e=>e.offsetHeight>0&&e.offsetWidth>0&&!e.getAttribute("disabled")&&Z.isRectVisibleInViewport(e.getBoundingClientRect()),Z.getDuckduckgoFaviconUrl=e=>{const t=e instanceof URL?e:new URL(e);return new URL(`https://icons.duckduckgo.com/ip3/${t.hostname}.ico`).href},Z.prettyDate=e=>{const t=((new Date).getTime()-e.getTime())/1e3,a=Math.floor(t/86400);if(Number.isNaN(a)||a<0)return"";const[n,r]=0===a&&(t<60&&[null,"just now"]||t<3600&&[Math.floor(t/60),"minute"]||t<86400&&[Math.floor(t/3600),"hour"])||1===a&&[null,"yesterday"]||a<7&&[a,"day"]||a<30&&[Math.round(a/7),"week"]||a<365&&[Math.round(a/30),"month"]||[Math.round(a/365),"year"];return`${n??""}${n?" ":""}${r}${(n??0)>1?"s":""}${n?" ago":""}`};const ae=Z,{tabOpenLink:ne,Front:re,Hints:oe,Normal:ie,RUNTIME:se,Clipboard:ce}=t,le={moveTabNextToTab:(e,t,a=!1)=>browser.tabs.move(e,{windowId:t.windowId,index:t.index-(a?1:0)}),dispatchEvents:(e,t,...a)=>a.forEach((a=>{const n=document.createEvent(e);n.initEvent(a,!0,!0),t.dispatchEvent(n)}))};le.dispatchMouseEvents=le.dispatchEvents.bind(void 0,["MouseEvents"]),le.scrollToHash=(e=null)=>{const t=(e||document.location.hash).replace("#",""),a=document.getElementById(t)||document.querySelector(`[name="${t}"]`);a&&a.scrollIntoView({behavior:"smooth"})},le.openLast=()=>{se("openLast")},le.vimEditURL=()=>re.showEditor(window.location.href,(e=>{le.openLink(e)}),"url"),le.getOrgLink=()=>`[[${window.location.href}][${document.title}]]`,le.getMarkdownLink=({title:e=document.title,href:t=window.location.href}={})=>`[${e}](${t})`;const pe="http://centralops.net/co/DomainDossier.aspx";le.getWhoisUrl=({hostname:e=window.location.hostname}={})=>`${pe}?dom_whois=true&addr=${e}`,le.getDnsInfoUrl=({hostname:e=window.location.hostname,all:t=!1}={})=>`${pe}?dom_dns=true&addr=${e}${t?"?dom_whois=true&dom_dns=true&traceroute=true&net_whois=true&svc_scan=true":""}`,le.getGoogleCacheUrl=({href:e=window.location.href}={})=>`https://webcache.googleusercontent.com/search?q=cache:${e}`,le.getWaybackUrl=({href:e=window.location.href}={})=>`https://web.archive.org/web/*/${e}`,le.getOutlineUrl=({href:e=window.location.href}={})=>`https://outline.com/${e}`,le.getAlexaUrl=({hostname:e=window.location.hostname}={})=>`https://www.alexa.com/siteinfo/${e}`,le.getBuiltWithUrl=({href:e=window.location.href}={})=>`https://www.builtwith.com/?${e}`,le.getWappalyzerUrl=({hostname:e=window.location.hostname}={})=>`https://www.wappalyzer.com/lookup/${e}`,le.getDiscussionsUrl=({href:e=window.location.href}={})=>`https://discussions.xojoc.pw/?${new URLSearchParams({url:e})}`,le.getSummaryUrl=({href:e=window.location.href}={})=>`https://kagi.com/summarizer/index.html?${new URLSearchParams({url:e})}`,le.openAnchor=({newTab:e=!1,active:t=!0,prop:a="href"}={})=>n=>le.openLink(n[a],{newTab:e,active:t}),le.openLink=(e,{newTab:t=!1,active:a=!0}={})=>{t?se("openLink",{tab:{tabbed:!0,active:a},url:e instanceof URL?e.href:e}):window.location.assign(e)},le.editSettings=()=>ne(chrome.extension.getURL("/pages/options.html")),le.togglePdfViewer=()=>chrome.storage.local.get("noPdfViewer",(e=>{e.noPdfViewer?chrome.storage.local.remove("noPdfViewer",(()=>{re.showBanner("PDF viewer enabled.")})):chrome.storage.local.set({noPdfViewer:1},(()=>{re.showBanner("PDF viewer disabled.")}))})),le.previewLink=()=>ae.createHints("a[href]",(e=>re.showEditor(e.href,(e=>le.openLink(e)),"url"))),le.scrollElement=(e,t)=>{le.dispatchMouseEvents(e,"mousedown"),ie.scroll(t)},le.fakeSpot=(e=window.location.href)=>le.openLink(`https://fakespot.com/analyze?ra=true&url=${e}`,{newTab:!0,active:!1}),le.az={},le.az.viewProduct=()=>{const e=/^([-\w]+[.])*amazon.\w+$/,t=/^(?:.*\/)*(?:dp|gp\/product)(?:\/(\w{10})).*/,a={};document.querySelectorAll("a[href]").forEach((n=>{const r=new URL(n.href);if(0===r.hash.length&&e.test(r.hostname)){const e=t.exec(r.pathname);if(null===e||2!==e.length)return;if(!ae.isElementInViewport(n))return;const o=e[1];if(void 0!==a[o]&&!(0===a[o].text.trim().length&&n.text.trim().length>0))return;a[o]=n}})),oe.create(Object.values(a),oe.dispatchMouseClick)},le.viewGodoc=()=>le.openLink(`https://godoc.org/${ae.getURLPath({count:2,domain:!0})}`,{newTab:!0}),le.go={},le.go.parseLocation=()=>{const e=new URL(window.location.href),t=e.searchParams.get("q"),a=e.pathname.split("/"),n={type:"unknown",url:e,query:t};if("www.google.com"===e.hostname)if(a.length<=1)n.type="home";else if("search"===a[1])switch(e.searchParams.get("tbm")){case"vid":n.type="videos";break;case"isch":n.type="images";break;case"nws":n.type="news";break;default:n.type="web"}else"maps"===a[1]&&(n.type="maps","search"===a[2]&&void 0!==a[3]?n.query=a[3]:void 0!==a[2]&&(n.query=a[2]));return n},le.go.ddg=()=>{const e=le.go.parseLocation(),t=new URL("https://duckduckgo.com");switch(e.query&&t.searchParams.set("q",e.query),e.type){case"videos":t.searchParams.set("ia","videos"),t.searchParams.set("iax","videos");break;case"images":t.searchParams.set("ia","images"),t.searchParams.set("iax","images");break;case"news":t.searchParams.set("ia","news"),t.searchParams.set("iar","news");break;case"maps":t.searchParams.set("iaxm","maps");break;default:t.searchParams.set("ia","web")}le.openLink(t.href)},le.dg={},le.dg.goog=()=>{let e;try{e=new URL(window.location.href)}catch(e){return}const t=e.searchParams.get("q");if(!t)return;const a=new URL("https://google.com/search");a.searchParams.set("q",t);const n=e.searchParams.get("iax"),r=e.searchParams.get("iaxm"),o=e.searchParams.get("iar");"images"===n?a.searchParams.set("tbm","isch"):"videos"===n?a.searchParams.set("tbm","vid"):"news"===o?a.searchParams.set("tbm","nws"):"maps"===r&&(a.pathname="/maps"),le.openLink(a.href)},le.dg.siteSearch=e=>{let t;try{t=new URL(window.location.href)}catch(e){return}const a=`site:${e}`,n=t.searchParams.get("q");if(!n)return;-1!==n.indexOf(a)?t.searchParams.set("q",n.replace(a,"")):t.searchParams.set("q",`${n} ${a}`),le.openLink(t.href)},le.gh={},le.gh.star=({toggle:e=!1}={})=>async()=>{const t=e=>"none"===window.getComputedStyle(e).display||!!e.parentElement&&t(e.parentElement),a=Array.from(document.querySelectorAll("div.starring-container")).filter((e=>!t(e)));let n;switch(a.length){case 0:return;case 1:[n]=a;break;default:try{n=await ae.createHints(a,{action:null})}catch(e){return}}const r=n.parentElement.parentElement?.matches("ul.pagehead-actions")?window.location.pathname:new URL(n.parentElement.querySelector("form").action).pathname,o=n.classList.contains("on"),i=r.slice(1).split("/").slice(0,2).join("/");let s="★",c="starred",l="is";(o&&e||!o&&!e)&&(c=`un${c}`,s="☆"),e&&(l="has been",n.querySelector(o?".starred button, button.starred":".unstarred button, button.unstarred").click()),re.showBanner(`${s} Repository ${i} ${l} ${c}!`)},le.gh.parseRepo=(e=window.location.href,t=!1)=>{let a;try{a=e instanceof URL?e:new URL(e)}catch(t){a=new URL(`https://github.com/${e}`)}const[n,r,...i]=a.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return["github.com","gist.github.com","raw.githubusercontent.com"].includes(a.hostname)&&"string"==typeof n&&n.length>0&&"string"==typeof r&&r.length>0&&(s||!1===t)&&/^([a-zA-Z0-9]+-?)+$/.test(n)&&!o.check(n)?{type:"repo",user:n,repo:r,owner:n,name:r,href:e,url:a,repoBase:`${n}/${r}`,repoRoot:s,repoPath:i}:null},le.gh.parseUser=(e=window.location.href,t=!1)=>{const a=e instanceof URL?e:new URL(e),[n,...r]=a.pathname.split("/").filter((e=>""!==e)),i=0===r.length;return a.origin===window.location.origin&&"string"==typeof n&&n.length>0&&(!1===t||0===r.length)&&/^([a-zA-Z0-9]+-?)+$/.test(n)&&!o.check(n)?{type:"user",name:n,user:n,href:e,url:a,userRoot:i,userPath:r}:null},le.gh.parseFile=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,i,...s]=t.pathname.split("/").filter((e=>""!==e));if(!(t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"string"==typeof r&&("blob"===r||"tree"===r)&&"string"==typeof i&&i.length>0&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)))return null;const c={type:"file",user:a,repo:n,pathType:r,commitHash:i,isDirectory:"tree"===r,href:e,url:t,filePath:s,repoBase:`/${a}/${n}`};return c.rawUrl=c.isDirectory?null:`https://raw.githubusercontent.com/${c.user}/${c.repo}/${c.commitHash}/${c.filePath.join("/")}`,c},le.gh.parseCommit=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,i]=t.pathname.split("/").filter((e=>""!==e));return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"string"==typeof r&&"commit"===r&&"string"==typeof i&&i.length>0&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{type:"commit",user:a,repo:n,commitHash:i,href:e,url:t}:null},le.gh.parseIssue=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,...i]=t.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"issues"===r&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{href:e,url:t,...s?{type:"issues",issuePath:i}:{type:"issue",number:i[0],issuePath:i}}:null},le.gh.parsePull=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,...i]=t.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&/^pulls?$/.test(r)&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{href:e,url:t,...s?{type:"pulls",pullPath:i}:{type:"pull",number:i[0],pullPath:i}}:null},le.gh.isUser=(e=window.location.href,t=!0)=>null!==le.gh.parseUser(e,t),le.gh.isRepo=(e=window.location.href,t=!0)=>null!==le.gh.parseRepo(e,t),le.gh.isFile=(e=window.location.href)=>null!==le.gh.parseFile(e),le.gh.isCommit=(e=window.location.href)=>null!==le.gh.parseCommit(e),le.gh.isIssue=(e=window.location.href)=>null!==le.gh.parseIssue(e),le.gh.isPull=(e=window.location.href)=>null!==le.gh.parsePull(e),le.gh.openRepo=()=>ae.createHintsFiltered((e=>le.gh.isRepo(e.href))),le.gh.openUser=()=>ae.createHintsFiltered((e=>le.gh.isUser(e.href))),le.gh.openFile=()=>ae.createHintsFiltered((e=>le.gh.isFile(e.href))),le.gh.openCommit=()=>ae.createHintsFiltered((e=>le.gh.isCommit(e.href))),le.gh.openIssue=()=>ae.createHintsFiltered((e=>le.gh.isIssue(e.href))),le.gh.openPull=()=>ae.createHintsFiltered((e=>le.gh.isPull(e.href))),le.gh.openPage=e=>le.openLink(`https://github.com/${e}`),le.gh.openRepoPage=e=>{const t=le.gh.parseRepo();null!==t&&le.gh.openPage(`${t.repoBase}${e}`)},le.gh.openRepoOwner=()=>{const e=le.gh.parseRepo();null!==e&&le.gh.openPage(`${e.owner}`)},le.gh.openGithubPagesRepo=()=>{const e=window.location.hostname.split(".")[0],t=window.location.pathname.split("/")[1]??"";le.gh.openPage(`${e}/${t}`)},le.gh.openSourceFile=()=>{const e=window.location.pathname.split("/");le.gh.openPage(`${[...e.slice(1,3),"tree",...e.slice(3)].join("/")}`)},le.gh.openProfile=()=>le.gh.openPage(`${document.querySelector("meta[name='user-login']").content}`),le.gh.toggleLangStats=()=>document.querySelector(".repository-lang-stats-graph").click(),le.gh.goParent=()=>{const e=window.location.pathname.split("/").filter((e=>""!==e)),t=(()=>{const[t,a,n]=e;switch(e.length){case 0:return!1;case 4:switch(n){case"blob":case"tree":return[t,a];case"pull":return[t,a,"pulls"]}break;case 5:if("blob"===n)return[t,a]}return e.slice(0,e.length-1)})();if(!1!==t){const e=`${window.location.origin}/${t.join("/")}`;le.openLink(e)}},le.gh.viewSourceGraph=()=>{const e=new URL("https://sourcegraph.com/github.com");let t=null;if(null!==(t=le.gh.parseFile(window.location.href))){const a=t.filePath.join("/");if(e.pathname+=`/${t.user}/${t.repo}@${t.commitHash}/-/${t.pathType}/${a}`,""!==window.location.hash)e.hash=window.location.hash;else if(!ae.isElementInViewport(document.querySelector("#L1")))for(const t of document.querySelectorAll(".js-line-number"))if(ae.isElementInViewport(t)){e.hash=t.id;break}}else null!==(t=le.gh.parseCommit(window.location.href))?e.pathname+=`/${t.user}/${t.repo}@${t.commitHash}`:null!==(t=le.gh.parseRepo(window.location.href))?e.pathname+=`/${t.user}/${t.repo}`:e.pathname="";le.openLink(e.href,{newTab:!0})},le.gh.openInDev=({newTab:e=!1}={})=>{const t=new URL(window.location.href);t.hostname="github.dev",le.openLink(t.href,{newTab:e})},le.gh.selectFile=async({files:e=!0,directories:t=!0}={})=>{if(!e&&!t)throw new Error("At least one of 'files' or 'directories' must be true");const a=a=>a&&!(!t&&a.isDirectory||!e&&!a.isDirectory);let n=le.gh.parseFile();if(a(n))return n;if(null===le.gh.parseRepo())throw new Error("Not a repository");const r=ae.createHintsFiltered((e=>{const t=le.gh.parseFile(e.href);return t&&!1===t.isDirectory}),null);if(n=le.gh.parseFile(r.href),!a(n))throw new Error("Not a file");return n},le.gh.openFileFromClipboard=async({newTab:e=!0}={})=>{const t=await navigator.clipboard.readText();if("string"!=typeof t||0===t.length)return;const a=window.location.href,n={user:null,repo:null,commitHash:"master"},r=le.gh.parseFile(a);if(null!==r)n.user=r.user,n.repo=r.repo,n.commitHash=r.commitHash;else{const e=le.gh.parseCommit(a);if(null!==e)n.user=e.user,n.repo=e.repo,n.commitHash=e.commitHash;else{const e=le.gh.parseRepo(a);if(null!==e)return;n.user=e.user,n.repo=e.repo}}le.openLink(`https://github.com/${n.user}/${n.repo}/tree/${n.commitHash}/${t}`,{newTab:e})},le.gl={},le.gl.star=()=>{const e=window.location.pathname.slice(1).split("/").slice(0,2).join("/"),t=document.querySelector(".btn.star-btn > span");t.click();const a=`${t.textContent.toLowerCase()}red`;let n="☆";"starred"===a&&(n="★"),re.showBanner(`${n} Repository ${e} ${a}`)},le.tw={},le.tw.openUser=()=>ae.createHints([].concat([...document.querySelectorAll("a[role='link'] img[src^='https://pbs.twimg.com/profile_images']")].map((e=>e.closest("a"))),[...document.querySelectorAll("a[role='link']")].filter((e=>e.text.match(/^@/))))),le.by={},le.by.copyDID=()=>{ae.createHints("img[src*='/did:plc:']",(e=>{const[t,a]=e.src.match("/(did:.*)/");a&&ce.write(a)}))},le.by.copyPostID=()=>{ae.createHints('a[href*="/post/"]',(e=>{const[t,a]=e.pathname.match(/^\/profile\/[^/]+\/post\/(\w+)/);a&&ce.write(a)}))},le.re={},le.re.collapseNextComment=()=>{const e=Array.from(document.querySelectorAll(".noncollapsed.comment")).filter((e=>ae.isElementInViewport(e)));e.length>0&&e[0].querySelector(".expand").click()},le.hn={},le.hn.goParent=()=>{const e=document.querySelector(".navs>a[href^='item']");e&&le.openLink(e.href)},le.hn.collapseNextComment=()=>{const e=Array.from(document.querySelectorAll("a.togg")).filter((e=>"[–]"===e.innerText&&ae.isElementInViewport(e)));e.length>0&&e[0].click()},le.hn.goPage=(e=1)=>{let t;try{t=new URL(window.location.href)}catch(e){return}let a=t.searchParams.get("p");null!==a&&""!==a||(a="1");const n=parseInt(a,10);if(Number.isNaN(n))return;const r=n+e;r<1||(t.searchParams.set("p",r),le.openLink(t.href))},le.hn.openLinkAndComments=e=>{const t=e.querySelector(".titleline>a").href,a=e.nextElementSibling.querySelector("a[href^='item']:not(.titlelink)").href;le.openLink(a,{newTab:!0}),le.openLink(t,{newTab:!0})},le.ph={},le.ph.openExternal=()=>{oe.create("ul[class^='postsList_'] > li > div[class^='item_']",(e=>le.openLink(e.querySelector("div[class^='meta_'] > div[class^='actions_'] > div[class^='minorActions_'] > a:nth-child(1)").href,{newTab:!0})))},le.wp={},le.wp.toggleSimple=()=>{const e=new URL(window.location.href);e.hostname=e.hostname.split(".").map(((e,t)=>0===t?"simple"===e?"":"simple":e)).filter((e=>""!==e)).join("."),le.openLink(e.href)},le.wp.viewWikiRank=()=>{const e=document.location.hostname.split("."),t=e.length>2&&"www"!==e[0]?e[0]:"en",a=document.location.pathname.split("/");if(a.length<3||"wiki"!==a[1])return;const n=a.slice(2).join("/");le.openLink(`https://wikirank.net/${t}/${n}`,{newTab:!0})},le.wp.markdownSummary=()=>`> [!wiki]\n> ${[e=>[...e.querySelectorAll("sup")].map((e=>e.remove())),e=>[...e.querySelectorAll("b")].forEach((e=>{e.innerText=`**${e.innerText}**`})),e=>[...e.querySelectorAll("i")].forEach((e=>{e.innerText=`_${e.innerText}_`}))].reduce(((e,t)=>(t(e),e)),document.querySelector("#mw-content-text p:not([class]):not([id])").cloneNode(!0)).innerText.trim()}\n>\n> — ${le.getMarkdownLink()}`,le.nt={},le.nt.adjustTemp=e=>document.querySelector(`button[data-test='thermozilla-controller-controls-${e>0?"in":"de"}crement-button']`).click(),le.nt.setMode=async e=>(async t=>{const a=()=>!t.isConnected,n=a();return n||(t.querySelector(`button[data-test='thermozilla-mode-switcher-${e}-button']`).click(),ae.until(a))})(await(async()=>{const e=()=>document.querySelector("div[data-test='thermozilla-mode-popover']"),t=e();return t||(document.querySelector("button[data-test='thermozilla-mode-button']").click(),ae.until(e))})()),le.nt.setFan=async e=>{const t=async(e,t)=>{const a=()=>!t.isConnected,n=a();return n||(t.querySelector(`div[data-test='thermozilla-fan-timer-${e}-button']`).click(),ae.until(a))},a=async()=>{const e=()=>document.querySelector("div[data-test='thermozilla-fan-timer-popover']"),t=e();return t||(document.querySelector("button[data-test='thermozilla-fan-button']").click(),ae.until(e))},n=()=>document.querySelector("div[data-test='thermozilla-aag-fan-listcell-title']"),r=async()=>{const e=await a(),n=await(async e=>{const t=()=>e.querySelector("div[role='listbox']");return t()||(oe.dispatchMouseClick(e.querySelector("div[role='combobox']")),ae.until(t))})(e);return await(async e=>{const t=()=>!e.isConnected;return t()||(oe.dispatchMouseClick(e.querySelector("div[role='option']:last-child")),ae.until(t))})(n),t("start",e)};n()&&await(async()=>{const e=await a();await t("stop",e),await ae.until((()=>!n()))})(),1===e&&await r()},le.re={},le.re.focusSearch=()=>le.dispatchMouseEvents(document.getElementById("docsearch"),"mousedown","click"),le.re.scrollSidebar=e=>le.scrollElement(document.getElementById("sidebar-content"),e),le.re.scrollContent=e=>le.scrollElement(document.body,e),le.dv={},le.dv.scrollSidebar=e=>le.scrollElement(document.querySelector("._list"),e),le.dv.scrollContent=e=>le.scrollElement(document.querySelector("._content"),e),le.ik={},le.ik.toggleProductDetails=async()=>{const e=()=>document.querySelector(".range-revamp-expander__btn"),t=document.querySelector(".range-revamp-modal-header__close");if(t)return void t.click();const a=await(async()=>{document.querySelector(".range-revamp-product-information-section__button button").click();const t=e();return t||ae.until(e)})();a&&a.click()},le.ik.toggleProductReviews=()=>{const e=document.querySelector(".ugc-rr-pip-fe-modal-header__close")??document.querySelector(".range-revamp-chunky-header__reviews");e&&e.click()},le.yt={},le.yt.getCurrentTimestamp=()=>{const[e,t,a=0]=document.querySelector("#ytd-player .ytp-time-current")?.innerText?.split(":")?.reverse()?.map(Number)??[0,0,0];return[e,t,a]},le.yt.getCurrentTimestampSeconds=()=>{const[e,t,a]=le.yt.getCurrentTimestamp();return 60*a*60+60*t+e},le.yt.getCurrentTimestampHuman=()=>{const[e,t,a]=le.yt.getCurrentTimestamp(),n=e=>`${e}`.padStart(2,"0");return a>0?`${a}:${n(t)}:${n(e)}`:`${t}:${n(e)}`},le.yt.getShortLink=()=>`https://youtu.be/${new URLSearchParams(window.location.search).get("v")}`,le.yt.getCurrentTimestampLink=()=>`${le.yt.getShortLink()}?t=${le.yt.getCurrentTimestampSeconds()}`,le.yt.getCurrentTimestampMarkdownLink=()=>le.getMarkdownLink({title:`${document.querySelector("#ytd-player .ytp-title").innerText} @ ${le.yt.getCurrentTimestampHuman()} - YouTube`,href:le.yt.getCurrentTimestampLink()}),le.doi={},le.doi.providers={},le.doi.providers.meta_citation_doi=()=>document.querySelector("meta[name=citation_doi]")?.content,le.doi.providers.meta_dcIdentifier_doi=()=>document.querySelector("meta[name='dc.Identifier'][scheme=doi]")?.content,le.doi.getLink=e=>{if(!s)return void re.showBanner("DOI Handler not confingured (see conf.priv.example.js)");const t=e();if(t)return s(t);re.showBanner("DOI not found")},le.cg={},le.cg.getNewChatLink=()=>[...document.querySelectorAll("a")].find((e=>"New chat"===e.innerText)),le.cg.newChat=async()=>{const e=le.cg.getNewChatLink();if(e){(await(async e=>(e.click(),await ae.until((()=>[...document.querySelectorAll('li[class*="group/toggle"]')].find((e=>"GPT-4"===e.innerText))))))(e)).querySelector("button>div").click()}else location.assign("https://chat.openai.com/?model=gpt-4")},le.cg.getChatLinks=()=>le.cg.getNewChatLink().parentElement.nextSibling.nextSibling.querySelectorAll("a");const de=le,ue={categories:{help:0,mouseClick:1,scroll:2,tabs:3,pageNav:4,sessions:5,searchSelectedWith:6,clipboard:7,omnibar:8,visualMode:9,vimMarks:10,settings:11,chromeURLs:12,proxy:13,misc:14,insertMode:15}},{categories:me}=ue,{Clipboard:he,Front:ge,Hints:fe}=t,be={};be.global=[{alias:"F",map:"gf",category:me.mouseClick,description:"Open a link in non-active new tab"},{alias:"zf",category:me.mouseClick,description:"Open link URL in vim editor",callback:de.previewLink},{alias:"K",map:"E",category:me.tabs,description:"Prev tab"},{alias:"J",map:"R",category:me.tabs,description:"Next tab"},{alias:"",map:"e",category:me.scroll,description:"Scroll half page up"},{alias:"",map:"d",category:me.scroll,description:"Scroll half page down"},{alias:"H",map:"S",category:me.pageNav,description:"Backwards on history"},{alias:"L",map:"D",category:me.pageNav,description:"Forwards on history"},{alias:"t",map:"T",category:me.tabs,description:"Switch Tabs"},{alias:"d",map:"x",category:me.tabs,description:"Close a tab"},{alias:"oo",category:me.omnibar,description:"Open omnibar",callback:()=>ge.openOmnibar({type:"URLs"})},{alias:"ob",category:me.omnibar,description:"Seach Bookmarks",callback:()=>ge.openOmnibar({type:"Bookmarks"})},{alias:"ot",category:me.tabs,description:"Search tabs",callback:()=>ge.openOmnibar({type:"Tabs"})},{alias:"u",category:me.tabs,description:"Open last closed tab",callback:de.openLast},{alias:"gh",category:me.scroll,description:"Scroll to element targeted by URL hash",callback:de.scrollToHash},{alias:"gi",category:me.pageNav,description:"Edit current URL with vim editor",callback:de.vimEditURL},{alias:"gI",category:me.pageNav,description:"View image in new tab",callback:()=>ae.createHints("img",(e=>de.openLink(e.src)))},{alias:"g.",category:me.pageNav,description:"Go to parent domain",callback:()=>{const e=window.location.host.split("."),t=(e.length>2?e.slice(1):e).join(".");de.openLink(`${window.location.protocol}//${t}`)}},{alias:"yp",category:me.clipboard,description:"Copy URL path of current page",callback:()=>he.write(window.location.href)},{alias:"yI",category:me.clipboard,description:"Copy Image URL",callback:()=>ae.createHints("img",(e=>he.write(e.src)))},{alias:"yA",category:me.clipboard,description:"Copy link as Markdown",callback:()=>ae.createHints("a[href]",(e=>he.write(`[${e.innerText}](${e.href})`)))},{alias:"yO",category:me.clipboard,description:"Copy page URL/Title as Org-mode link",callback:()=>he.write(de.getOrgLink())},{alias:"yM",category:me.clipboard,description:"Copy page URL/Title as Markdown link",callback:()=>he.write(de.getMarkdownLink())},{alias:"yT",category:me.tabs,description:"Duplicate current tab (non-active new tab)",callback:()=>de.openLink(window.location.href,{newTab:!0,active:!1})},{alias:";se",category:me.settings,description:"Edit Settings",callback:de.editSettings},{alias:"gS",category:me.chromeURLs,description:"Open Chrome settings"},{alias:"=W",category:me.misc,description:"Lookup whois information for domain",callback:()=>de.openLink(de.getWhoisUrl(),{newTab:!0})},{alias:"=d",category:me.misc,description:"Lookup dns information for domain",callback:()=>de.openLink(de.getDnsInfoUrl(),{newTab:!0})},{alias:"=D",category:me.misc,description:"Lookup all information for domain",callback:()=>de.openLink(de.getDnsInfoUrl({all:!0}),{newTab:!0})},{alias:"=c",category:me.misc,description:"Show Google's cached version of page",callback:()=>de.openLink(de.getGoogleCacheUrl(),{newTab:!0})},{alias:"=a",category:me.misc,description:"Show Archive.org Wayback Machine for page",callback:()=>de.openLink(de.getWaybackUrl(),{newTab:!0})},{alias:"=A",category:me.misc,description:"Show Alexa.com info for domain",callback:()=>de.openLink(de.getAlexaUrl(),{newTab:!0})},{alias:"=s",category:me.misc,description:"View social discussions for page",callback:()=>de.openLink(de.getDiscussionsUrl(),{newTab:!0})},{alias:"=S",category:me.misc,description:"View summary for page",callback:()=>de.openLink(de.getSummaryUrl(),{newTab:!0})},{alias:"=o",category:me.misc,description:"Show outline.com version of page",callback:()=>de.openLink(de.getOutlineUrl(),{newTab:!0})},{alias:"=bw",category:me.misc,description:"Show BuiltWith report for page",callback:()=>de.openLink(de.getBuiltWithUrl(),{newTab:!0})},{alias:"=wa",category:me.misc,description:"Show Wappalyzer report for page",callback:()=>de.openLink(de.getWappalyzerUrl(),{newTab:!0})},{alias:";pd",category:me.misc,description:"Toggle PDF viewer from SurfingKeys",callback:de.togglePdfViewer},{alias:"gxE",map:"gxt",category:me.tabs,description:"Close tab to left"},{alias:"gxR",map:"gxT",category:me.tabs,description:"Close tab to right"},{alias:"\\cgh",category:me.clipboard,description:"Open clipboard string as GitHub path (e.g. 'torvalds/linux')",callback:async()=>{const{url:e}=de.gh.parseRepo(await navigator.clipboard.readText());ge.showBanner(`Open ${e}`),de.openLink(e,{newTab:!0})}},{alias:"F",map:"gf",category:me.mouseClick,description:"Open a link in non-active new tab"},{alias:"oh",category:me.omnibar,description:"Open URL from history",callback:()=>ge.openOmnibar({type:"History"})}],be["amazon.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot},{alias:"a",description:"View product",callback:de.az.viewProduct},{alias:"c",description:"Add to Cart",callback:()=>ae.createHints("#add-to-cart-button")},{alias:"R",description:"View Product Reviews",callback:()=>de.openLink("#customerReviews")},{alias:"Q",description:"View Product Q&A",callback:()=>de.openLink("#Ask")},{alias:"A",description:"Open Account page",callback:()=>de.openLink("/gp/css/homepage.html")},{alias:"C",description:"Open Cart page",callback:()=>de.openLink("/gp/cart/view.html")},{alias:"O",description:"Open Orders page",callback:()=>de.openLink("/gp/css/order-history")}];const we=["a h3","h3 a","a[href^='/search']:not(.fl):not(#pnnext,#pnprev):not([role]):not(.hide-focus-ring)","g-scrolling-carousel a",".rc > div:nth-child(2) a",".kno-rdesc a",".kno-fv a",".isv-r > a:first-child",".dbsr > a:first-child",".X5OiLe",".WlydOe",".fl"].join(",");be["www.google.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(we)},{alias:"A",description:"Open search result (new tab)",callback:()=>ae.createHints(we,de.openAnchor({newTab:!0,active:!1}))},{alias:"d",description:"Open search in DuckDuckGo",callback:de.go.ddg}],be["algolia.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(".item-main h2>a:first-child")}];const ke=["a[rel=noopener][target=_self]:not([data-testid=result-extras-url-link])",".js-images-show-more",".module--images__thumbnails__link",".tile--img__sub"].join(",");be["duckduckgo.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(ke)},{alias:"A",description:"Open search result (non-active new tab)",callback:()=>ae.createHints(ke,de.openAnchor({newTab:!0,active:!1}))},{leader:"",alias:"]]",description:"Show more results",callback:()=>document.querySelector(".result--more__btn").click()},{alias:"g",description:"Open search in Google",callback:de.dg.goog},{alias:"sgh",description:"Search site:github.com",callback:()=>de.dg.siteSearch("github.com")},{alias:"sre",description:"Search site:reddit.com",callback:()=>de.dg.siteSearch("reddit.com")}],be["www.yelp.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot}],be["youtube.com"]=[{leader:"",alias:"A",description:"Open video",callback:()=>ae.createHints("*[id='video-title']",de.openAnchor({newTab:!0}))},{leader:"",alias:"C",description:"Open channel",callback:()=>ae.createHints("*[id='byline']")},{leader:"",alias:"gH",description:"Goto homepage",callback:()=>de.openLink("https://www.youtube.com/feed/subscriptions?flow=2")},{leader:"",alias:"F",description:"Toggle fullscreen",callback:()=>de.dispatchMouseEvents(document.querySelector("#movie_player.ytp-fullscreen-button"),"mousedown","click")},{leader:"",alias:"Yt",description:"Copy YouTube video link for current time",callback:()=>he.write(de.yt.getCurrentTimestampLink())},{leader:"",alias:"Ym",description:"Copy YouTube video markdown link for current time",callback:()=>he.write(de.yt.getCurrentTimestampMarkdownLink())}],be["vimeo.com"]=[{alias:"F",description:"Toggle fullscreen",callback:()=>document.querySelector(".fullscreen-icon").click()}],be["github.com"]=[{alias:"A",description:"Open repository Actions page",callback:()=>de.gh.openRepoPage("/actions")},{alias:"C",description:"Open repository Commits page",callback:()=>de.gh.openRepoPage("/commits")},{alias:"I",description:"Open repository Issues page",callback:()=>de.gh.openRepoPage("/issues")},{alias:"N",description:"Open notifications page",callback:()=>de.gh.openPage("/notifications")},{alias:"P",description:"Open repository Pull Requests page",callback:()=>de.gh.openRepoPage("/pulls")},{alias:"R",description:"Open Repository page",callback:()=>de.gh.openRepoPage("/")},{alias:"S",description:"Open repository Settings page",callback:()=>de.gh.openRepoPage("/settings")},{alias:"W",description:"Open repository Wiki page",callback:()=>de.gh.openRepoPage("/wiki")},{alias:"X",description:"Open repository Security page",callback:()=>de.gh.openRepoPage("/security")},{alias:"O",description:"Open repository Owner's profile page",callback:de.gh.openRepoOwner},{alias:"M",description:"Open your profile page ('Me')",callback:de.gh.openProfile},{alias:"a",description:"View Repository",callback:de.gh.openRepo},{alias:"u",description:"View User",callback:de.gh.openUser},{alias:"f",description:"View File",callback:de.gh.openFile},{alias:"c",description:"View Commit",callback:de.gh.openCommit},{alias:"i",description:"View Issue",callback:de.gh.openIssue},{alias:"p",description:"View Pull Request",callback:de.gh.openPull},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{leader:"",alias:"gu",description:"Go up one path in the URL (GitHub)",callback:de.gh.goParent},{alias:"s",description:"Toggle Star",callback:de.gh.star({toggle:!0})},{alias:"yy",description:"Copy Project Path",callback:async()=>he.write(ae.getURLPath({count:2}))},{alias:"Y",description:"Copy Project Path (including domain)",callback:()=>he.write(ae.getURLPath({count:2,domain:!0}))},{alias:"l",description:"Toggle repo language stats",callback:de.gh.toggleLangStats},{alias:"D",description:"Open in github.dev (new tab)",callback:()=>de.gh.openInDev({newTab:!0})},{alias:"dd",description:"Open in github.dev",callback:de.gh.openInDev},{alias:"G",description:"View on SourceGraph",callback:de.gh.viewSourceGraph},{alias:"r",description:"View live raw version of file",callback:()=>de.gh.selectFile({directories:!1}).then((e=>de.openLink(e.rawUrl,{newTab:!0})))},{alias:"yr",description:"Copy raw link to file",callback:()=>de.gh.selectFile({directories:!1}).then((e=>he.write(e.rawUrl)))},{alias:"yf",description:"Copy link to file",callback:()=>de.gh.selectFile().then((e=>he.write(e.url)))},{alias:"gcp",description:"Open clipboard string as file path in repo",callback:de.gh.openFileFromClipboard}],be["raw.githubusercontent.com"]=[{alias:"R",description:"Open Repository page",callback:()=>de.gh.openRepoPage("/")},{alias:"F",description:"Open Source File",callback:de.gh.openSourceFile}],be["github.io"]=[{alias:"R",description:"Open Repository page",callback:()=>de.gh.openGithubPagesRepo()}],be["gitlab.com"]=[{alias:"s",description:"Toggle Star",callback:de.gl.star},{alias:"y",description:"Copy Project Path",callback:()=>he.write(ae.getURLPath({count:2}))},{alias:"Y",description:"Copy Project Path (including domain)",callback:()=>he.write(ae.getURLPath({count:2,domain:!0}))},{alias:"D",description:"View GoDoc for Project",callback:de.viewGodoc}],be["twitter.com"]=[{alias:"f",description:"Follow user",callback:()=>ae.createHints("div[role='button'][data-testid$='follow']")},{alias:"s",description:"Like tweet",callback:()=>ae.createHints("div[role='button'][data-testid$='like']")},{alias:"R",description:"Retweet",callback:()=>ae.createHints("div[role='button'][data-testid$='retweet']")},{alias:"c",description:"Comment/Reply",callback:()=>ae.createHints("div[role='button'][data-testid='reply']")},{alias:"T",description:"New tweet",callback:()=>document.querySelector("a[role='button'][data-testid='SideNav_NewTweet_Button']").click()},{alias:"u",description:"Goto user",callback:de.tw.openUser},{alias:"t",description:"Goto tweet",callback:()=>ae.createHints("article, article div[data-focusable='true'][role='link'][tabindex='0']")}],be["bsky.app"]=[{alias:"d",description:"Copy user DID",callback:de.by.copyDID},{alias:"p",description:"Copy user post ID",callback:de.by.copyPostID}],be["reddit.com"]=[{alias:"x",description:"Collapse comment",callback:()=>ae.createHints(".expand")},{alias:"X",description:"Collapse next comment",callback:de.re.collapseNextComment},{alias:"s",description:"Upvote",callback:()=>ae.createHints(".arrow.up")},{alias:"S",description:"Downvote",callback:()=>ae.createHints(".arrow.down")},{alias:"e",description:"Expand expando",callback:()=>ae.createHints(".expando-button")},{alias:"a",description:"View post (link)",callback:()=>ae.createHints(".title")},{alias:"A",description:"View post (link) (non-active new tab)",callback:()=>ae.createHints(".title",de.openAnchor({newTab:!0,active:!1}))},{alias:"c",description:"View post (comments)",callback:()=>ae.createHints(".comments")},{alias:"C",description:"View post (comments) (non-active new tab)",callback:()=>ae.createHints(".comments",de.openAnchor({newTab:!0,active:!1}))}],be["news.ycombinator.com"]=[{alias:"x",description:"Collapse comment",callback:()=>ae.createHints(".togg")},{alias:"X",description:"Collapse next comment",callback:de.hn.collapseNextComment},{alias:"s",description:"Upvote",callback:()=>ae.createHints(".votearrow[title='upvote']")},{alias:"S",description:"Downvote",callback:()=>ae.createHints(".votearrow[title='downvote']")},{alias:"a",description:"View post (link)",callback:()=>ae.createHints(".titleline>a")},{alias:"A",description:"View post (link and comments)",callback:()=>ae.createHints(".athing",de.hn.openLinkAndComments)},{alias:"c",description:"View post (comments)",callback:()=>ae.createHints(".subline>a[href^='item']")},{alias:"C",description:"View post (comments) (non-active new tab)",callback:()=>ae.createHints(".subline>a[href^='item']",de.openAnchor({newTab:!0,active:!1}))},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{leader:"",alias:"gp",description:"Go to parent",callback:de.hn.goParent},{leader:"",alias:"]]",description:"Next page",callback:()=>de.hn.goPage(1)},{leader:"",alias:"[[",description:"Prev page",callback:()=>de.hn.goPage(-1)}],be["producthunt.com"]=[{alias:"a",description:"View product (external)",callback:de.ph.openExternal},{alias:"v",description:"View product",callback:()=>ae.createHints("ul[class^='postsList_'] > li > div[class^='item_'] > a")},{alias:"s",description:"Upvote product",callback:()=>ae.createHints("button[data-test='vote-button']")}],be["behance.net"]=[{alias:"s",description:"Appreciate project",callback:()=>ae.createHints(".appreciation-button")},{alias:"b",description:"Add project to collection",callback:()=>document.querySelector(".qa-action-collection").click()},{alias:"a",description:"View project",callback:()=>ae.createHints(".rf-project-cover__title")},{alias:"A",description:"View project (non-active new tab)",callback:()=>ae.createHints(".rf-project-cover__title",de.openAnchor({newTab:!0,active:!1}))}],be["fonts.adobe.com"]=[{alias:"a",description:"Activate font",callback:()=>ae.createHints(".spectrum-ToggleSwitch-input")},{alias:"s",description:"Favorite font",callback:()=>ae.createHints(".favorite-toggle-icon")}],be["wikipedia.org"]=[{alias:"s",description:"Toggle simple version of current article",callback:de.wp.toggleSimple},{alias:"a",description:"View page",callback:()=>ae.createHints("#bodyContent :not(sup):not(.mw-editsection) > a:not([rel=nofollow])")},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{alias:"ys",description:"Copy article summary as Markdown",callback:()=>he.write(de.wp.markdownSummary())},{alias:"R",description:"View WikiRank for current article",callback:de.wp.viewWikiRank}],be["craigslist.org"]=[{alias:"a",description:"View listing",callback:()=>ae.createHints("a.result-title")}],be["stackoverflow.com"]=[{alias:"a",description:"View question",callback:()=>ae.createHints("a.question-hyperlink")}],be["aur.archlinux.org"]=[{alias:"a",description:"View package",callback:()=>ae.createHints("a[href^='/packages/'][href$='/']")}],be["home.nest.com"]=[{path:"/thermostat/DEVICE_.*",leader:"",alias:"=",description:"Increment temperature",callback:()=>de.nt.adjustTemp(1)},{path:"/thermostat/DEVICE_.*",leader:"",alias:"-",description:"Decrement temperature",callback:()=>de.nt.adjustTemp(-1)},{path:"/thermostat/DEVICE_.*",alias:"h",description:"Switch mode to Heat",callback:()=>de.nt.setMode("heat")},{path:"/thermostat/DEVICE_.*",alias:"c",description:"Switch mode to Cool",callback:()=>de.nt.setMode("cool")},{path:"/thermostat/DEVICE_.*",alias:"r",description:"Switch mode to Heat/Cool",callback:()=>de.nt.setMode("range")},{path:"/thermostat/DEVICE_.*",alias:"o",description:"Switch mode to Off",callback:()=>de.nt.setMode("off")},{path:"/thermostat/DEVICE_.*",alias:"f",description:"Switch fan On",callback:()=>de.nt.setFan(1)},{path:"/thermostat/DEVICE_.*",alias:"F",description:"Switch fan Off",callback:()=>de.nt.setFan(0)}];const ye="/docs(/.*)?";be["rescript-lang.org"]=[{leader:"",alias:"i",description:"Focus search field",path:`(${ye})?$`,callback:de.re.focusSearch},{alias:"a",description:"Open docs link",path:ye,callback:()=>ae.createHints("a[href^='/docs/']")},{alias:"L",description:"Open language manual",callback:()=>de.openLink("/docs/manual/latest/introduction")},{alias:"R",description:"Open ReScript + React docs",callback:()=>de.openLink("/docs/react/latest/introduction")},{alias:"G",description:"Open GenType docs",callback:()=>de.openLink("/docs/gentype/latest/introduction")},{alias:"P",description:"Open package index",callback:()=>de.openLink("/packages")},{alias:"Y",description:"Open playground",callback:()=>de.openLink("/try")},{alias:"S",description:"Open syntax lookup",callback:()=>de.openLink("/syntax-lookup")},{alias:"F",description:"Open community forum",callback:()=>de.openLink("https://forum.rescript-lang.org/")},{alias:"A",description:"Open API docs",callback:()=>de.openLink("/docs/manual/latest/api")},{alias:"J",description:"Open JS API docs",callback:()=>de.openLink("/docs/manual/latest/api/js")},{alias:"B",description:"Open Belt API docs",callback:()=>de.openLink("/docs/manual/latest/api/belt")},{alias:"D",description:"Open DOM API docs",callback:()=>de.openLink("/docs/manual/latest/api/dom")},{leader:"",alias:"w",description:"Scroll sidebar up",path:ye,callback:()=>de.re.scrollSidebar("up")},{leader:"",alias:"s",description:"Scroll sidebar down",path:ye,callback:()=>de.re.scrollSidebar("down")},{leader:"",alias:"e",description:"Scroll sidebar page up",path:ye,callback:()=>de.re.scrollSidebar("pageUp")},{leader:"",alias:"d",description:"Scroll sidebar page down",path:ye,callback:()=>de.re.scrollSidebar("pageDown")},{leader:"",alias:"k",description:"Scroll body up",path:ye,callback:()=>de.re.scrollContent("up")},{leader:"",alias:"j",description:"Scroll body down",path:ye,callback:()=>de.re.scrollContent("down")},{leader:"",alias:"K",description:"Scroll body page up",path:ye,callback:()=>de.re.scrollContent("pageUp")},{leader:"",alias:"J",description:"Scroll body page down",path:ye,callback:()=>de.re.scrollContent("pageDown")}],be["devdocs.io"]=[{leader:"",alias:"w",description:"Scroll sidebar up",callback:()=>de.dv.scrollSidebar("up")},{leader:"",alias:"s",description:"Scroll sidebar down",callback:()=>de.dv.scrollSidebar("down")},{leader:"",alias:"e",description:"Scroll sidebar page up",callback:()=>de.dv.scrollSidebar("pageUp")},{leader:"",alias:"d",description:"Scroll sidebar page down",callback:()=>de.dv.scrollSidebar("pageDown")},{leader:"",alias:"k",description:"Scroll body up",callback:()=>de.dv.scrollContent("up")},{leader:"",alias:"j",description:"Scroll body down",callback:()=>de.dv.scrollContent("down")},{leader:"",alias:"K",description:"Scroll body page up",callback:()=>de.dv.scrollContent("pageUp")},{leader:"",alias:"J",description:"Scroll body page down",callback:()=>de.dv.scrollContent("pageDown")}],be["ebay.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot}],be["ikea.com"]=[{alias:"d",description:"Toggle Product Details",callback:()=>de.ik.toggleProductDetails()},{alias:"i",description:"Toggle Product Details",callback:()=>de.ik.toggleProductDetails()},{alias:"r",description:"Toggle Product Reviews",callback:()=>de.ik.toggleProductReviews()},{alias:"C",description:"Open Cart page",callback:()=>de.openLink("/us/en/shoppingcart/")},{alias:"P",description:"Open Profile page",callback:()=>de.openLink("/us/en/profile/login/")},{alias:"F",description:"Open Favorites page",callback:()=>de.openLink("/us/en/favorites/")},{alias:"O",description:"Open Orders page",callback:()=>de.openLink("/us/en/customer-service/track-manage-order/")}],be["chat.openai.com"]=[{alias:"n",description:"New chat",callback:()=>de.cg.newChat()},{alias:"a",description:"Open chat",callback:()=>ae.createHints([...de.cg.getChatLinks()])}],be["claude.ai"]=[{alias:"i",leader:"",description:"Focus input",callback:()=>setTimeout((()=>fe.dispatchMouseClick(document.querySelector(".ProseMirror[contenteditable=true]"))),0)}];const ve=(e,t=de.doi.providers.meta_citation_doi)=>{be[e]||(be[e]=[]),be[e].push({alias:"O",description:"Open DOI",callback:()=>{const e=de.doi.getLink(t);e&&de.openLink(e,{newTab:!0})},hide:!0})};s&&(ve("aaai.org"),ve("academic.oup.com"),ve("aeaweb.org"),ve("aging-us.com"),ve("ahajournals.org",de.doi.providers.meta_dcIdentifier_doi),ve("ajnr.org"),ve("annualreviews.org",de.doi.providers.meta_dcIdentifier_doi),ve("apa.org",(()=>document.querySelector(".citation a")?.innerText?.replace(/^https:\/\/doi\.org\//,""))),ve("ashpublications.org"),ve("asnjournals.org"),ve("biomedcentral.com"),ve("bmj.com"),ve("brill.com"),ve("cambridge.org"),ve("cell.com"),ve("cmaj.ca"),ve("cochranelibrary.com"),ve("diabetesjournals.org"),ve("direct.mit.edu"),ve("dl.acm.org",de.doi.providers.meta_dcIdentifier_doi),ve("elifesciences.org",(()=>document.querySelector("meta[name='dc.identifier']")?.content?.replace(/^doi:/,""))),ve("embopress.org"),ve("emerald.com",de.doi.providers.meta_dcIdentifier_doi),ve("episciences.org"),ve("epubs.siam.org",de.doi.providers.meta_dcIdentifier_doi),ve("ersjournals.com"),ve("europepmc.org"),ve("frontiersin.org"),ve("future-science.com",de.doi.providers.meta_dcIdentifier_doi),ve("go.gale.com"),ve("ieee.org",(()=>document.querySelector(".stats-document-abstract-doi a")?.innerText)),ve("ingentaconnect.com",(()=>document.querySelector("meta[name='DC.identifier']")?.content?.replace(/^info:doi\//,""))),ve("jacc.or",de.doi.providers.meta_dcIdentifier_doi),ve("jamanetwork.com"),ve("jci.org"),ve("jfdc.cnic.cn"),ve("jlr.org"),ve("jneurosci.org"),ve("journals.lww.com"),ve("journals.physiology.org",de.doi.providers.meta_dcIdentifier_doi),ve("journals.plos.org"),ve("journals.sagepub.com",de.doi.providers.meta_dcIdentifier_doi),ve("journals.uchicago.edu",de.doi.providers.meta_dcIdentifier_doi),ve("jst.go.jp"),ve("karger.com"),ve("koreascience.kr"),ve("koreascience.or.kr"),ve("liebertpub.com",de.doi.providers.meta_dcIdentifier_doi),ve("mdpi.com"),ve("msp.org",(()=>document.querySelector(".paper-doi a")?.innerText)),ve("nature.com"),ve("nejm.org",de.doi.providers.meta_dcIdentifier_doi),ve("nowpublishers.com"),ve("nsf.gov"),ve("ocl-journal.org"),ve("onlinelibrary.wiley.com"),ve("pnas.org"),ve("ncbi.nlm.nih.gov"),ve("pubs.acs.org",de.doi.providers.meta_dcIdentifier_doi),ve("pubs.geoscienceworld.org"),ve("pubs.rsna.org",de.doi.providers.meta_dcIdentifier_doi),ve("research.manchester.ac.uk"),ve("royalsocietypublishing.org",de.doi.providers.meta_dcIdentifier_doi),ve("rupress.org"),ve("science.org",de.doi.providers.meta_dcIdentifier_doi),ve("sciencedirect.com"),ve("scitation.org"),ve("spandidos-publications.com"),ve("spiedigitallibrary.org"),ve("springer.com"),ve("synapse.koreamed.org"),ve("tandfonline.com",de.doi.providers.meta_dcIdentifier_doi),ve("thelancet.com"),ve("worldscientific.com",de.doi.providers.meta_dcIdentifier_doi));const xe={unmaps:{mappings:["sb","sw","ob","oe","ow","oy","cp",";cp",";ap","spa","spb","spd","sps","spc","spi","sfr","zQ","zz","zR","ab","Q","q","ag","af",";s","yp","p","","",""],searchAliases:{s:["g","d","b","e","w","s","h","y"]},pages:[{url:/matt-startpage.vercel.app/,maps:["t","r","f","x","E","R","T"]}]},maps:be,aliases:{"wikipedia.org":["wiktionary.org","wikiquote.org","wikisource.org","wikimedia.org","mediawiki.org","wikivoyage.org","wikibooks.org","wikinews.org","wikiversity.org","wikidata.org","wiki.archlinux.org"],"stackoverflow.com":["stackexchange.com","serverfault.com","superuser.com","askubuntu.com","stackapps.com","mathoverflow.net"]}},{htmlPurify:Se,htmlNode:_e,htmlForEach:$e,suggestionItem:Te,urlItem:Le,prettyDate:Oe,getDuckduckgoFaviconUrl:Ce,localStorage:Ee,runtimeHttpRequest:Ne}=ae,Re="data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2056%2056%22%20enable-background%3D%22new%200%200%2056%2056%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23eee%22%20d%3D%22M0%200h56v56h-56z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23999%22%20d%3D%22M36.4%2013.5h-18.6v24.9c0%201.4.9%202.3%202.3%202.3h18.7v-25c.1-1.4-1-2.2-2.4-2.2zm-6.2%203.5h5.1v6.4h-5.1v-6.4zm-8.8%200h6v1.8h-6v-1.8zm0%204.6h6v1.8h-6v-1.8zm0%2015.5v-1.8h13.8v1.8h-13.8zm13.8-4.5h-13.8v-1.8h13.8v1.8zm0-4.7h-13.8v-1.8h13.8v1.8z%22%2F%3E%0A%3C%2Fsvg%3E%0A",Ae="undefined"!=typeof navigator?navigator.language:"",qe={},De=e=>{let t="https://google.com/favicon.ico";return e.favicon?t=e.favicon:e.domain?t=Ce(`https://${e.domain}`):e.search&&(t=Ce(e.search)),{favicon:t,compl:`https://www.googleapis.com/customsearch/v1?key=${i.google_cs}&cx=${i[`google_cx_${e.alias}`]}&q=`,search:`https://cse.google.com/cse/publicurl?cx=${i[`google_cx_${e.alias}`]}&q=`,callback:e=>JSON.parse(e.text).items.map((e=>Te({url:e.link})`
+ `},Z.defaultSelector="a[href]:not([href^=javascript])",Z.querySelectorFiltered=(e=Z.defaultSelector,t=(()=>!0))=>[...document.querySelectorAll(e)].filter(t),Z.createHints=(e=Z.defaultSelector,t=Y.dispatchMouseClick,a={})=>new Promise((n=>{Y.create(e,((...e)=>{n(...e),"function"==typeof t&&t(...e)}),a)})),Z.createHintsFiltered=(e,t,...a)=>{Z.createHints(Z.querySelectorFiltered(t,e),...a)},Z.isRectVisibleInViewport=e=>e.height>0&&e.width>0&&e.bottom>=0&&e.right>=0&&e.top<=(window.innerHeight||document.documentElement.clientHeight)&&e.left<=(window.innerWidth||document.documentElement.clientWidth),Z.isElementInViewport=e=>e.offsetHeight>0&&e.offsetWidth>0&&!e.getAttribute("disabled")&&Z.isRectVisibleInViewport(e.getBoundingClientRect()),Z.getDuckduckgoFaviconUrl=e=>{const t=e instanceof URL?e:new URL(e);return new URL(`https://icons.duckduckgo.com/ip3/${t.hostname}.ico`).href},Z.prettyDate=e=>{const t=((new Date).getTime()-e.getTime())/1e3,a=Math.floor(t/86400);if(Number.isNaN(a)||a<0)return"";const[n,r]=0===a&&(t<60&&[null,"just now"]||t<3600&&[Math.floor(t/60),"minute"]||t<86400&&[Math.floor(t/3600),"hour"])||1===a&&[null,"yesterday"]||a<7&&[a,"day"]||a<30&&[Math.round(a/7),"week"]||a<365&&[Math.round(a/30),"month"]||[Math.round(a/365),"year"];return`${n??""}${n?" ":""}${r}${(n??0)>1?"s":""}${n?" ago":""}`};const ae=Z,{tabOpenLink:ne,Front:re,Hints:oe,Normal:ie,RUNTIME:se,Clipboard:ce}=t,le={moveTabNextToTab:(e,t,a=!1)=>browser.tabs.move(e,{windowId:t.windowId,index:t.index-(a?1:0)}),dispatchEvents:(e,t,...a)=>a.forEach((a=>{const n=document.createEvent(e);n.initEvent(a,!0,!0),t.dispatchEvent(n)}))};le.dispatchMouseEvents=le.dispatchEvents.bind(void 0,["MouseEvents"]),le.scrollToHash=(e=null)=>{const t=(e||document.location.hash).replace("#",""),a=document.getElementById(t)||document.querySelector(`[name="${t}"]`);a&&a.scrollIntoView({behavior:"smooth"})},le.openLast=()=>{se("openLast")},le.vimEditURL=()=>re.showEditor(window.location.href,(e=>{le.openLink(e)}),"url"),le.getOrgLink=()=>`[[${window.location.href}][${document.title}]]`,le.getMarkdownLink=({title:e=document.title,href:t=window.location.href}={})=>`[${e}](${t})`;const pe="http://centralops.net/co/DomainDossier.aspx";le.getWhoisUrl=({hostname:e=window.location.hostname}={})=>`${pe}?dom_whois=true&addr=${e}`,le.getDnsInfoUrl=({hostname:e=window.location.hostname,all:t=!1}={})=>`${pe}?dom_dns=true&addr=${e}${t?"?dom_whois=true&dom_dns=true&traceroute=true&net_whois=true&svc_scan=true":""}`,le.getGoogleCacheUrl=({href:e=window.location.href}={})=>`https://webcache.googleusercontent.com/search?q=cache:${e}`,le.getWaybackUrl=({href:e=window.location.href}={})=>`https://web.archive.org/web/*/${e}`,le.getOutlineUrl=({href:e=window.location.href}={})=>`https://outline.com/${e}`,le.getAlexaUrl=({hostname:e=window.location.hostname}={})=>`https://www.alexa.com/siteinfo/${e}`,le.getBuiltWithUrl=({href:e=window.location.href}={})=>`https://www.builtwith.com/?${e}`,le.getWappalyzerUrl=({hostname:e=window.location.hostname}={})=>`https://www.wappalyzer.com/lookup/${e}`,le.getDiscussionsUrl=({href:e=window.location.href}={})=>`https://discussions.xojoc.pw/?${new URLSearchParams({url:e})}`,le.getSummaryUrl=({href:e=window.location.href}={})=>`https://kagi.com/summarizer/index.html?${new URLSearchParams({url:e})}`,le.openAnchor=({newTab:e=!1,active:t=!0,prop:a="href"}={})=>n=>le.openLink(n[a],{newTab:e,active:t}),le.openLink=(e,{newTab:t=!1,active:a=!0}={})=>{t?se("openLink",{tab:{tabbed:!0,active:a},url:e instanceof URL?e.href:e}):window.location.assign(e)},le.editSettings=()=>ne(chrome.extension.getURL("/pages/options.html")),le.togglePdfViewer=()=>chrome.storage.local.get("noPdfViewer",(e=>{e.noPdfViewer?chrome.storage.local.remove("noPdfViewer",(()=>{re.showBanner("PDF viewer enabled.")})):chrome.storage.local.set({noPdfViewer:1},(()=>{re.showBanner("PDF viewer disabled.")}))})),le.previewLink=()=>ae.createHints("a[href]",(e=>re.showEditor(e.href,(e=>le.openLink(e)),"url"))),le.scrollElement=(e,t)=>{le.dispatchMouseEvents(e,"mousedown"),ie.scroll(t)},le.fakeSpot=(e=window.location.href)=>le.openLink(`https://fakespot.com/analyze?ra=true&url=${e}`,{newTab:!0,active:!1}),le.az={},le.az.viewProduct=()=>{const e=/^([-\w]+[.])*amazon.\w+$/,t=/^(?:.*\/)*(?:dp|gp\/product)(?:\/(\w{10})).*/,a={};document.querySelectorAll("a[href]").forEach((n=>{const r=new URL(n.href);if(0===r.hash.length&&e.test(r.hostname)){const e=t.exec(r.pathname);if(null===e||2!==e.length)return;if(!ae.isElementInViewport(n))return;const o=e[1];if(void 0!==a[o]&&!(0===a[o].text.trim().length&&n.text.trim().length>0))return;a[o]=n}})),oe.create(Object.values(a),oe.dispatchMouseClick)},le.viewGodoc=()=>le.openLink(`https://godoc.org/${ae.getURLPath({count:2,domain:!0})}`,{newTab:!0}),le.go={},le.go.parseLocation=()=>{const e=new URL(window.location.href),t=e.searchParams.get("q"),a=e.pathname.split("/"),n={type:"unknown",url:e,query:t};if("www.google.com"===e.hostname)if(a.length<=1)n.type="home";else if("search"===a[1])switch(e.searchParams.get("tbm")){case"vid":n.type="videos";break;case"isch":n.type="images";break;case"nws":n.type="news";break;default:n.type="web"}else"maps"===a[1]&&(n.type="maps","search"===a[2]&&void 0!==a[3]?n.query=a[3]:void 0!==a[2]&&(n.query=a[2]));return n},le.go.ddg=()=>{const e=le.go.parseLocation(),t=new URL("https://duckduckgo.com");switch(e.query&&t.searchParams.set("q",e.query),e.type){case"videos":t.searchParams.set("ia","videos"),t.searchParams.set("iax","videos");break;case"images":t.searchParams.set("ia","images"),t.searchParams.set("iax","images");break;case"news":t.searchParams.set("ia","news"),t.searchParams.set("iar","news");break;case"maps":t.searchParams.set("iaxm","maps");break;default:t.searchParams.set("ia","web")}le.openLink(t.href)},le.dg={},le.dg.goog=()=>{let e;try{e=new URL(window.location.href)}catch(e){return}const t=e.searchParams.get("q");if(!t)return;const a=new URL("https://google.com/search");a.searchParams.set("q",t);const n=e.searchParams.get("iax"),r=e.searchParams.get("iaxm"),o=e.searchParams.get("iar");"images"===n?a.searchParams.set("tbm","isch"):"videos"===n?a.searchParams.set("tbm","vid"):"news"===o?a.searchParams.set("tbm","nws"):"maps"===r&&(a.pathname="/maps"),le.openLink(a.href)},le.dg.siteSearch=e=>{let t;try{t=new URL(window.location.href)}catch(e){return}const a=`site:${e}`,n=t.searchParams.get("q");if(!n)return;-1!==n.indexOf(a)?t.searchParams.set("q",n.replace(a,"")):t.searchParams.set("q",`${n} ${a}`),le.openLink(t.href)},le.gh={},le.gh.star=({toggle:e=!1}={})=>async()=>{const t=e=>"none"===window.getComputedStyle(e).display||!!e.parentElement&&t(e.parentElement),a=Array.from(document.querySelectorAll("div.starring-container")).filter((e=>!t(e)));let n;switch(a.length){case 0:return;case 1:[n]=a;break;default:try{n=await ae.createHints(a,{action:null})}catch(e){return}}const r=n.parentElement.parentElement?.matches("ul.pagehead-actions")?window.location.pathname:new URL(n.parentElement.querySelector("form").action).pathname,o=n.classList.contains("on"),i=r.slice(1).split("/").slice(0,2).join("/");let s="★",c="starred",l="is";(o&&e||!o&&!e)&&(c=`un${c}`,s="☆"),e&&(l="has been",n.querySelector(o?".starred button, button.starred":".unstarred button, button.unstarred").click()),re.showBanner(`${s} Repository ${i} ${l} ${c}!`)},le.gh.parseRepo=(e=window.location.href,t=!1)=>{let a;try{a=e instanceof URL?e:new URL(e)}catch(t){a=new URL(`https://github.com/${e}`)}const[n,r,...i]=a.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return["github.com","gist.github.com","raw.githubusercontent.com"].includes(a.hostname)&&"string"==typeof n&&n.length>0&&"string"==typeof r&&r.length>0&&(s||!1===t)&&/^([a-zA-Z0-9]+-?)+$/.test(n)&&!o.check(n)?{type:"repo",user:n,repo:r,owner:n,name:r,href:e,url:a,repoBase:`${n}/${r}`,repoRoot:s,repoPath:i}:null},le.gh.parseUser=(e=window.location.href,t=!1)=>{const a=e instanceof URL?e:new URL(e),[n,...r]=a.pathname.split("/").filter((e=>""!==e)),i=0===r.length;return a.origin===window.location.origin&&"string"==typeof n&&n.length>0&&(!1===t||0===r.length)&&/^([a-zA-Z0-9]+-?)+$/.test(n)&&!o.check(n)?{type:"user",name:n,user:n,href:e,url:a,userRoot:i,userPath:r}:null},le.gh.parseFile=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,i,...s]=t.pathname.split("/").filter((e=>""!==e));if(!(t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"string"==typeof r&&("blob"===r||"tree"===r)&&"string"==typeof i&&i.length>0&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)))return null;const c={type:"file",user:a,repo:n,pathType:r,commitHash:i,isDirectory:"tree"===r,href:e,url:t,filePath:s,repoBase:`/${a}/${n}`};return c.rawUrl=c.isDirectory?null:`https://raw.githubusercontent.com/${c.user}/${c.repo}/${c.commitHash}/${c.filePath.join("/")}`,c},le.gh.parseCommit=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,i]=t.pathname.split("/").filter((e=>""!==e));return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"string"==typeof r&&"commit"===r&&"string"==typeof i&&i.length>0&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{type:"commit",user:a,repo:n,commitHash:i,href:e,url:t}:null},le.gh.parseIssue=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,...i]=t.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&"issues"===r&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{href:e,url:t,...s?{type:"issues",issuePath:i}:{type:"issue",number:i[0],issuePath:i}}:null},le.gh.parsePull=(e=window.location.href)=>{const t=e instanceof URL?e:new URL(e),[a,n,r,...i]=t.pathname.split("/").filter((e=>""!==e)),s=0===i.length;return t.origin===window.location.origin&&"string"==typeof a&&a.length>0&&"string"==typeof n&&n.length>0&&/^pulls?$/.test(r)&&/^([a-zA-Z0-9]+-?)+$/.test(a)&&!o.check(a)?{href:e,url:t,...s?{type:"pulls",pullPath:i}:{type:"pull",number:i[0],pullPath:i}}:null},le.gh.isUser=(e=window.location.href,t=!0)=>null!==le.gh.parseUser(e,t),le.gh.isRepo=(e=window.location.href,t=!0)=>null!==le.gh.parseRepo(e,t),le.gh.isFile=(e=window.location.href)=>null!==le.gh.parseFile(e),le.gh.isCommit=(e=window.location.href)=>null!==le.gh.parseCommit(e),le.gh.isIssue=(e=window.location.href)=>null!==le.gh.parseIssue(e),le.gh.isPull=(e=window.location.href)=>null!==le.gh.parsePull(e),le.gh.openRepo=()=>ae.createHintsFiltered((e=>le.gh.isRepo(e.href))),le.gh.openUser=()=>ae.createHintsFiltered((e=>le.gh.isUser(e.href))),le.gh.openFile=()=>ae.createHintsFiltered((e=>le.gh.isFile(e.href))),le.gh.openCommit=()=>ae.createHintsFiltered((e=>le.gh.isCommit(e.href))),le.gh.openIssue=()=>ae.createHintsFiltered((e=>le.gh.isIssue(e.href))),le.gh.openPull=()=>ae.createHintsFiltered((e=>le.gh.isPull(e.href))),le.gh.openPage=e=>le.openLink(`https://github.com/${e}`),le.gh.openRepoPage=e=>{const t=le.gh.parseRepo();null!==t&&le.gh.openPage(`${t.repoBase}${e}`)},le.gh.openRepoOwner=()=>{const e=le.gh.parseRepo();null!==e&&le.gh.openPage(`${e.owner}`)},le.gh.openGithubPagesRepo=()=>{const e=window.location.hostname.split(".")[0],t=window.location.pathname.split("/")[1]??"";le.gh.openPage(`${e}/${t}`)},le.gh.openSourceFile=()=>{const e=window.location.pathname.split("/");le.gh.openPage(`${[...e.slice(1,3),"tree",...e.slice(3)].join("/")}`)},le.gh.openProfile=()=>le.gh.openPage(`${document.querySelector("meta[name='user-login']").content}`),le.gh.toggleLangStats=()=>document.querySelector(".repository-lang-stats-graph").click(),le.gh.goParent=()=>{const e=window.location.pathname.split("/").filter((e=>""!==e)),t=(()=>{const[t,a,n]=e;switch(e.length){case 0:return!1;case 4:switch(n){case"blob":case"tree":return[t,a];case"pull":return[t,a,"pulls"]}break;case 5:if("blob"===n)return[t,a]}return e.slice(0,e.length-1)})();if(!1!==t){const e=`${window.location.origin}/${t.join("/")}`;le.openLink(e)}},le.gh.viewSourceGraph=()=>{const e=new URL("https://sourcegraph.com/github.com");let t=null;if(null!==(t=le.gh.parseFile(window.location.href))){const a=t.filePath.join("/");if(e.pathname+=`/${t.user}/${t.repo}@${t.commitHash}/-/${t.pathType}/${a}`,""!==window.location.hash)e.hash=window.location.hash;else if(!ae.isElementInViewport(document.querySelector("#L1")))for(const t of document.querySelectorAll(".js-line-number"))if(ae.isElementInViewport(t)){e.hash=t.id;break}}else null!==(t=le.gh.parseCommit(window.location.href))?e.pathname+=`/${t.user}/${t.repo}@${t.commitHash}`:null!==(t=le.gh.parseRepo(window.location.href))?e.pathname+=`/${t.user}/${t.repo}`:e.pathname="";le.openLink(e.href,{newTab:!0})},le.gh.openInDev=({newTab:e=!1}={})=>{const t=new URL(window.location.href);t.hostname="github.dev",le.openLink(t.href,{newTab:e})},le.gh.selectFile=async({files:e=!0,directories:t=!0}={})=>{if(!e&&!t)throw new Error("At least one of 'files' or 'directories' must be true");const a=a=>a&&!(!t&&a.isDirectory||!e&&!a.isDirectory);let n=le.gh.parseFile();if(a(n))return n;if(null===le.gh.parseRepo())throw new Error("Not a repository");const r=ae.createHintsFiltered((e=>{const t=le.gh.parseFile(e.href);return t&&!1===t.isDirectory}),null);if(n=le.gh.parseFile(r.href),!a(n))throw new Error("Not a file");return n},le.gh.openFileFromClipboard=async({newTab:e=!0}={})=>{const t=await navigator.clipboard.readText();if("string"!=typeof t||0===t.length)return;const a=window.location.href,n={user:null,repo:null,commitHash:"master"},r=le.gh.parseFile(a);if(null!==r)n.user=r.user,n.repo=r.repo,n.commitHash=r.commitHash;else{const e=le.gh.parseCommit(a);if(null!==e)n.user=e.user,n.repo=e.repo,n.commitHash=e.commitHash;else{const e=le.gh.parseRepo(a);if(null!==e)return;n.user=e.user,n.repo=e.repo}}le.openLink(`https://github.com/${n.user}/${n.repo}/tree/${n.commitHash}/${t}`,{newTab:e})},le.gl={},le.gl.star=()=>{const e=window.location.pathname.slice(1).split("/").slice(0,2).join("/"),t=document.querySelector(".btn.star-btn > span");t.click();const a=`${t.textContent.toLowerCase()}red`;let n="☆";"starred"===a&&(n="★"),re.showBanner(`${n} Repository ${e} ${a}`)},le.tw={},le.tw.openUser=()=>ae.createHints([].concat([...document.querySelectorAll("a[role='link'] img[src^='https://pbs.twimg.com/profile_images']")].map((e=>e.closest("a"))),[...document.querySelectorAll("a[role='link']")].filter((e=>e.text.match(/^@/))))),le.by={},le.by.copyDID=()=>{ae.createHints("img[src*='/did:plc:']",(e=>{const[t,a]=e.src.match("/(did:.*)/");a&&ce.write(a)}))},le.by.copyPostID=()=>{ae.createHints('a[href*="/post/"]',(e=>{const[t,a]=e.pathname.match(/^\/profile\/[^/]+\/post\/(\w+)/);a&&ce.write(a)}))},le.re={},le.re.collapseNextComment=()=>{const e=Array.from(document.querySelectorAll(".noncollapsed.comment")).filter((e=>ae.isElementInViewport(e)));e.length>0&&e[0].querySelector(".expand").click()},le.hn={},le.hn.goParent=()=>{const e=document.querySelector(".navs>a[href^='item']");e&&le.openLink(e.href)},le.hn.collapseNextComment=()=>{const e=Array.from(document.querySelectorAll("a.togg")).filter((e=>"[–]"===e.innerText&&ae.isElementInViewport(e)));e.length>0&&e[0].click()},le.hn.goPage=(e=1)=>{let t;try{t=new URL(window.location.href)}catch(e){return}let a=t.searchParams.get("p");null!==a&&""!==a||(a="1");const n=parseInt(a,10);if(Number.isNaN(n))return;const r=n+e;r<1||(t.searchParams.set("p",r),le.openLink(t.href))},le.hn.openLinkAndComments=e=>{const t=e.querySelector(".titleline>a").href,a=e.nextElementSibling.querySelector("a[href^='item']:not(.titlelink)").href;le.openLink(a,{newTab:!0}),le.openLink(t,{newTab:!0})},le.ph={},le.ph.openExternal=()=>{oe.create("ul[class^='postsList_'] > li > div[class^='item_']",(e=>le.openLink(e.querySelector("div[class^='meta_'] > div[class^='actions_'] > div[class^='minorActions_'] > a:nth-child(1)").href,{newTab:!0})))},le.wp={},le.wp.toggleSimple=()=>{const e=new URL(window.location.href);e.hostname=e.hostname.split(".").map(((e,t)=>0===t?"simple"===e?"":"simple":e)).filter((e=>""!==e)).join("."),le.openLink(e.href)},le.wp.viewWikiRank=()=>{const e=document.location.hostname.split("."),t=e.length>2&&"www"!==e[0]?e[0]:"en",a=document.location.pathname.split("/");if(a.length<3||"wiki"!==a[1])return;const n=a.slice(2).join("/");le.openLink(`https://wikirank.net/${t}/${n}`,{newTab:!0})},le.wp.markdownSummary=()=>`> [!wiki]\n> ${[e=>[...e.querySelectorAll("sup")].map((e=>e.remove())),e=>[...e.querySelectorAll("b")].forEach((e=>{e.innerText=`**${e.innerText}**`})),e=>[...e.querySelectorAll("i")].forEach((e=>{e.innerText=`_${e.innerText}_`}))].reduce(((e,t)=>(t(e),e)),document.querySelector("#mw-content-text p:not([class]):not([id])").cloneNode(!0)).innerText.trim()}\n>\n> — ${le.getMarkdownLink()}`,le.nt={},le.nt.adjustTemp=e=>document.querySelector(`button[data-test='thermozilla-controller-controls-${e>0?"in":"de"}crement-button']`).click(),le.nt.setMode=async e=>(async t=>{const a=()=>!t.isConnected,n=a();return n||(t.querySelector(`button[data-test='thermozilla-mode-switcher-${e}-button']`).click(),ae.until(a))})(await(async()=>{const e=()=>document.querySelector("div[data-test='thermozilla-mode-popover']"),t=e();return t||(document.querySelector("button[data-test='thermozilla-mode-button']").click(),ae.until(e))})()),le.nt.setFan=async e=>{const t=async(e,t)=>{const a=()=>!t.isConnected,n=a();return n||(t.querySelector(`div[data-test='thermozilla-fan-timer-${e}-button']`).click(),ae.until(a))},a=async()=>{const e=()=>document.querySelector("div[data-test='thermozilla-fan-timer-popover']"),t=e();return t||(document.querySelector("button[data-test='thermozilla-fan-button']").click(),ae.until(e))},n=()=>document.querySelector("div[data-test='thermozilla-aag-fan-listcell-title']"),r=async()=>{const e=await a(),n=await(async e=>{const t=()=>e.querySelector("div[role='listbox']");return t()||(oe.dispatchMouseClick(e.querySelector("div[role='combobox']")),ae.until(t))})(e);return await(async e=>{const t=()=>!e.isConnected;return t()||(oe.dispatchMouseClick(e.querySelector("div[role='option']:last-child")),ae.until(t))})(n),t("start",e)};n()&&await(async()=>{const e=await a();await t("stop",e),await ae.until((()=>!n()))})(),1===e&&await r()},le.re={},le.re.focusSearch=()=>le.dispatchMouseEvents(document.getElementById("docsearch"),"mousedown","click"),le.re.scrollSidebar=e=>le.scrollElement(document.getElementById("sidebar-content"),e),le.re.scrollContent=e=>le.scrollElement(document.body,e),le.dv={},le.dv.scrollSidebar=e=>le.scrollElement(document.querySelector("._list"),e),le.dv.scrollContent=e=>le.scrollElement(document.querySelector("._content"),e),le.ik={},le.ik.toggleProductDetails=async()=>{const e=()=>document.querySelector(".range-revamp-expander__btn"),t=document.querySelector(".range-revamp-modal-header__close");if(t)return void t.click();const a=await(async()=>{document.querySelector(".range-revamp-product-information-section__button button").click();const t=e();return t||ae.until(e)})();a&&a.click()},le.ik.toggleProductReviews=()=>{const e=document.querySelector(".ugc-rr-pip-fe-modal-header__close")??document.querySelector(".range-revamp-chunky-header__reviews");e&&e.click()},le.yt={},le.yt.getCurrentTimestamp=()=>{const[e,t,a=0]=document.querySelector("#ytd-player .ytp-time-current")?.innerText?.split(":")?.reverse()?.map(Number)??[0,0,0];return[e,t,a]},le.yt.getCurrentTimestampSeconds=()=>{const[e,t,a]=le.yt.getCurrentTimestamp();return 60*a*60+60*t+e},le.yt.getCurrentTimestampHuman=()=>{const[e,t,a]=le.yt.getCurrentTimestamp(),n=e=>`${e}`.padStart(2,"0");return a>0?`${a}:${n(t)}:${n(e)}`:`${t}:${n(e)}`},le.yt.getShortLink=()=>`https://youtu.be/${new URLSearchParams(window.location.search).get("v")}`,le.yt.getCurrentTimestampLink=()=>`${le.yt.getShortLink()}?t=${le.yt.getCurrentTimestampSeconds()}`,le.yt.getCurrentTimestampMarkdownLink=()=>le.getMarkdownLink({title:`${document.querySelector("#ytd-player .ytp-title").innerText} @ ${le.yt.getCurrentTimestampHuman()} - YouTube`,href:le.yt.getCurrentTimestampLink()}),le.doi={},le.doi.providers={},le.doi.providers.meta_citation_doi=()=>document.querySelector("meta[name=citation_doi]")?.content,le.doi.providers.meta_dcIdentifier_doi=()=>document.querySelector("meta[name='dc.Identifier'][scheme=doi]")?.content,le.doi.getLink=e=>{if(!s)return void re.showBanner("DOI Handler not confingured (see conf.priv.example.js)");const t=e();if(t)return s(t);re.showBanner("DOI not found")},le.cg={},le.cg.getNewChatLink=()=>[...document.querySelectorAll("a")].find((e=>"New chat"===e.innerText)),le.cg.newChat=async()=>{const e=le.cg.getNewChatLink();if(e){(await(async e=>(e.click(),await ae.until((()=>[...document.querySelectorAll('li[class*="group/toggle"]')].find((e=>"GPT-4"===e.innerText))))))(e)).querySelector("button>div").click()}else location.assign("https://chat.openai.com/?model=gpt-4")},le.cg.getChatLinks=()=>le.cg.getNewChatLink().parentElement.nextSibling.nextSibling.querySelectorAll("a");const de=le,ue={categories:{help:0,mouseClick:1,scroll:2,tabs:3,pageNav:4,sessions:5,searchSelectedWith:6,clipboard:7,omnibar:8,visualMode:9,vimMarks:10,settings:11,chromeURLs:12,proxy:13,misc:14,insertMode:15}},{categories:me}=ue,{Clipboard:he,Front:ge,Hints:fe}=t,be={};be.global=[{alias:"",map:"",category:me.misc,description:"Toggle SurfingKeys"},{alias:"F",map:"gf",category:me.mouseClick,description:"Open a link in non-active new tab"},{alias:"zf",category:me.mouseClick,description:"Open link URL in vim editor",callback:de.previewLink},{alias:"K",map:"E",category:me.tabs,description:"Prev tab"},{alias:"J",map:"R",category:me.tabs,description:"Next tab"},{alias:"",map:"e",category:me.scroll,description:"Scroll half page up"},{alias:"",map:"d",category:me.scroll,description:"Scroll half page down"},{alias:"H",map:"S",category:me.pageNav,description:"Backwards on history"},{alias:"L",map:"D",category:me.pageNav,description:"Forwards on history"},{alias:"t",map:"T",category:me.tabs,description:"Switch Tabs"},{alias:"d",map:"x",category:me.tabs,description:"Close a tab"},{alias:"oo",category:me.omnibar,description:"Open omnibar",callback:()=>ge.openOmnibar({type:"URLs"})},{alias:"ob",category:me.omnibar,description:"Seach Bookmarks",callback:()=>ge.openOmnibar({type:"Bookmarks"})},{alias:"ot",category:me.tabs,description:"Search tabs",callback:()=>ge.openOmnibar({type:"Tabs"})},{alias:"u",category:me.tabs,description:"Open last closed tab",callback:de.openLast},{alias:"gh",category:me.scroll,description:"Scroll to element targeted by URL hash",callback:de.scrollToHash},{alias:"gi",category:me.pageNav,description:"Edit current URL with vim editor",callback:de.vimEditURL},{alias:"gI",category:me.pageNav,description:"View image in new tab",callback:()=>ae.createHints("img",(e=>de.openLink(e.src)))},{alias:"g.",category:me.pageNav,description:"Go to parent domain",callback:()=>{const e=window.location.host.split("."),t=(e.length>2?e.slice(1):e).join(".");de.openLink(`${window.location.protocol}//${t}`)}},{alias:"yp",category:me.clipboard,description:"Copy URL path of current page",callback:()=>he.write(window.location.href)},{alias:"yI",category:me.clipboard,description:"Copy Image URL",callback:()=>ae.createHints("img",(e=>he.write(e.src)))},{alias:"yA",category:me.clipboard,description:"Copy link as Markdown",callback:()=>ae.createHints("a[href]",(e=>he.write(`[${e.innerText}](${e.href})`)))},{alias:"yO",category:me.clipboard,description:"Copy page URL/Title as Org-mode link",callback:()=>he.write(de.getOrgLink())},{alias:"yM",category:me.clipboard,description:"Copy page URL/Title as Markdown link",callback:()=>he.write(de.getMarkdownLink())},{alias:"yT",category:me.tabs,description:"Duplicate current tab (non-active new tab)",callback:()=>de.openLink(window.location.href,{newTab:!0,active:!1})},{alias:";se",category:me.settings,description:"Edit Settings",callback:de.editSettings},{alias:"gS",category:me.chromeURLs,description:"Open Chrome settings"},{alias:"=W",category:me.misc,description:"Lookup whois information for domain",callback:()=>de.openLink(de.getWhoisUrl(),{newTab:!0})},{alias:"=d",category:me.misc,description:"Lookup dns information for domain",callback:()=>de.openLink(de.getDnsInfoUrl(),{newTab:!0})},{alias:"=D",category:me.misc,description:"Lookup all information for domain",callback:()=>de.openLink(de.getDnsInfoUrl({all:!0}),{newTab:!0})},{alias:"=c",category:me.misc,description:"Show Google's cached version of page",callback:()=>de.openLink(de.getGoogleCacheUrl(),{newTab:!0})},{alias:"=a",category:me.misc,description:"Show Archive.org Wayback Machine for page",callback:()=>de.openLink(de.getWaybackUrl(),{newTab:!0})},{alias:"=A",category:me.misc,description:"Show Alexa.com info for domain",callback:()=>de.openLink(de.getAlexaUrl(),{newTab:!0})},{alias:"=s",category:me.misc,description:"View social discussions for page",callback:()=>de.openLink(de.getDiscussionsUrl(),{newTab:!0})},{alias:"=S",category:me.misc,description:"View summary for page",callback:()=>de.openLink(de.getSummaryUrl(),{newTab:!0})},{alias:"=o",category:me.misc,description:"Show outline.com version of page",callback:()=>de.openLink(de.getOutlineUrl(),{newTab:!0})},{alias:"=bw",category:me.misc,description:"Show BuiltWith report for page",callback:()=>de.openLink(de.getBuiltWithUrl(),{newTab:!0})},{alias:"=wa",category:me.misc,description:"Show Wappalyzer report for page",callback:()=>de.openLink(de.getWappalyzerUrl(),{newTab:!0})},{alias:";pd",category:me.misc,description:"Toggle PDF viewer from SurfingKeys",callback:de.togglePdfViewer},{alias:"gxE",map:"gxt",category:me.tabs,description:"Close tab to left"},{alias:"gxR",map:"gxT",category:me.tabs,description:"Close tab to right"},{alias:"\\cgh",category:me.clipboard,description:"Open clipboard string as GitHub path (e.g. 'torvalds/linux')",callback:async()=>{const{url:e}=de.gh.parseRepo(await navigator.clipboard.readText());ge.showBanner(`Open ${e}`),de.openLink(e,{newTab:!0})}},{alias:"F",map:"gf",category:me.mouseClick,description:"Open a link in non-active new tab"},{alias:"oh",category:me.omnibar,description:"Open URL from history",callback:()=>ge.openOmnibar({type:"History"})}],be["amazon.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot},{alias:"a",description:"View product",callback:de.az.viewProduct},{alias:"c",description:"Add to Cart",callback:()=>ae.createHints("#add-to-cart-button")},{alias:"R",description:"View Product Reviews",callback:()=>de.openLink("#customerReviews")},{alias:"Q",description:"View Product Q&A",callback:()=>de.openLink("#Ask")},{alias:"A",description:"Open Account page",callback:()=>de.openLink("/gp/css/homepage.html")},{alias:"C",description:"Open Cart page",callback:()=>de.openLink("/gp/cart/view.html")},{alias:"O",description:"Open Orders page",callback:()=>de.openLink("/gp/css/order-history")}];const we=["a h3","h3 a","a[href^='/search']:not(.fl):not(#pnnext,#pnprev):not([role]):not(.hide-focus-ring)","g-scrolling-carousel a",".rc > div:nth-child(2) a",".kno-rdesc a",".kno-fv a",".isv-r > a:first-child",".dbsr > a:first-child",".X5OiLe",".WlydOe",".fl"].join(",");be["www.google.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(we)},{alias:"A",description:"Open search result (new tab)",callback:()=>ae.createHints(we,de.openAnchor({newTab:!0,active:!1}))},{alias:"d",description:"Open search in DuckDuckGo",callback:de.go.ddg}],be["algolia.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(".item-main h2>a:first-child")}];const ke=["a[rel=noopener][target=_self]:not([data-testid=result-extras-url-link])",".js-images-show-more",".module--images__thumbnails__link",".tile--img__sub"].join(",");be["duckduckgo.com"]=[{alias:"a",description:"Open search result",callback:()=>ae.createHints(ke)},{alias:"A",description:"Open search result (non-active new tab)",callback:()=>ae.createHints(ke,de.openAnchor({newTab:!0,active:!1}))},{leader:"",alias:"]]",description:"Show more results",callback:()=>document.querySelector(".result--more__btn").click()},{alias:"g",description:"Open search in Google",callback:de.dg.goog},{alias:"sgh",description:"Search site:github.com",callback:()=>de.dg.siteSearch("github.com")},{alias:"sre",description:"Search site:reddit.com",callback:()=>de.dg.siteSearch("reddit.com")}],be["www.yelp.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot}],be["youtube.com"]=[{leader:"",alias:"A",description:"Open video",callback:()=>ae.createHints("*[id='video-title']",de.openAnchor({newTab:!0}))},{leader:"",alias:"C",description:"Open channel",callback:()=>ae.createHints("*[id='byline']")},{leader:"",alias:"gH",description:"Goto homepage",callback:()=>de.openLink("https://www.youtube.com/feed/subscriptions?flow=2")},{leader:"",alias:"F",description:"Toggle fullscreen",callback:()=>de.dispatchMouseEvents(document.querySelector("#movie_player.ytp-fullscreen-button"),"mousedown","click")},{leader:"",alias:"Yt",description:"Copy YouTube video link for current time",callback:()=>he.write(de.yt.getCurrentTimestampLink())},{leader:"",alias:"Ym",description:"Copy YouTube video markdown link for current time",callback:()=>he.write(de.yt.getCurrentTimestampMarkdownLink())}],be["vimeo.com"]=[{alias:"F",description:"Toggle fullscreen",callback:()=>document.querySelector(".fullscreen-icon").click()}],be["github.com"]=[{alias:"A",description:"Open repository Actions page",callback:()=>de.gh.openRepoPage("/actions")},{alias:"C",description:"Open repository Commits page",callback:()=>de.gh.openRepoPage("/commits")},{alias:"I",description:"Open repository Issues page",callback:()=>de.gh.openRepoPage("/issues")},{alias:"N",description:"Open notifications page",callback:()=>de.gh.openPage("/notifications")},{alias:"P",description:"Open repository Pull Requests page",callback:()=>de.gh.openRepoPage("/pulls")},{alias:"R",description:"Open Repository page",callback:()=>de.gh.openRepoPage("/")},{alias:"S",description:"Open repository Settings page",callback:()=>de.gh.openRepoPage("/settings")},{alias:"W",description:"Open repository Wiki page",callback:()=>de.gh.openRepoPage("/wiki")},{alias:"X",description:"Open repository Security page",callback:()=>de.gh.openRepoPage("/security")},{alias:"O",description:"Open repository Owner's profile page",callback:de.gh.openRepoOwner},{alias:"M",description:"Open your profile page ('Me')",callback:de.gh.openProfile},{alias:"a",description:"View Repository",callback:de.gh.openRepo},{alias:"u",description:"View User",callback:de.gh.openUser},{alias:"f",description:"View File",callback:de.gh.openFile},{alias:"c",description:"View Commit",callback:de.gh.openCommit},{alias:"i",description:"View Issue",callback:de.gh.openIssue},{alias:"p",description:"View Pull Request",callback:de.gh.openPull},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{leader:"",alias:"gu",description:"Go up one path in the URL (GitHub)",callback:de.gh.goParent},{alias:"s",description:"Toggle Star",callback:de.gh.star({toggle:!0})},{alias:"yy",description:"Copy Project Path",callback:async()=>he.write(ae.getURLPath({count:2}))},{alias:"Y",description:"Copy Project Path (including domain)",callback:()=>he.write(ae.getURLPath({count:2,domain:!0}))},{alias:"l",description:"Toggle repo language stats",callback:de.gh.toggleLangStats},{alias:"D",description:"Open in github.dev (new tab)",callback:()=>de.gh.openInDev({newTab:!0})},{alias:"dd",description:"Open in github.dev",callback:de.gh.openInDev},{alias:"G",description:"View on SourceGraph",callback:de.gh.viewSourceGraph},{alias:"r",description:"View live raw version of file",callback:()=>de.gh.selectFile({directories:!1}).then((e=>de.openLink(e.rawUrl,{newTab:!0})))},{alias:"yr",description:"Copy raw link to file",callback:()=>de.gh.selectFile({directories:!1}).then((e=>he.write(e.rawUrl)))},{alias:"yf",description:"Copy link to file",callback:()=>de.gh.selectFile().then((e=>he.write(e.url)))},{alias:"gcp",description:"Open clipboard string as file path in repo",callback:de.gh.openFileFromClipboard}],be["raw.githubusercontent.com"]=[{alias:"R",description:"Open Repository page",callback:()=>de.gh.openRepoPage("/")},{alias:"F",description:"Open Source File",callback:de.gh.openSourceFile}],be["github.io"]=[{alias:"R",description:"Open Repository page",callback:()=>de.gh.openGithubPagesRepo()}],be["gitlab.com"]=[{alias:"s",description:"Toggle Star",callback:de.gl.star},{alias:"y",description:"Copy Project Path",callback:()=>he.write(ae.getURLPath({count:2}))},{alias:"Y",description:"Copy Project Path (including domain)",callback:()=>he.write(ae.getURLPath({count:2,domain:!0}))},{alias:"D",description:"View GoDoc for Project",callback:de.viewGodoc}],be["twitter.com"]=[{alias:"f",description:"Follow user",callback:()=>ae.createHints("div[role='button'][data-testid$='follow']")},{alias:"s",description:"Like tweet",callback:()=>ae.createHints("div[role='button'][data-testid$='like']")},{alias:"R",description:"Retweet",callback:()=>ae.createHints("div[role='button'][data-testid$='retweet']")},{alias:"c",description:"Comment/Reply",callback:()=>ae.createHints("div[role='button'][data-testid='reply']")},{alias:"T",description:"New tweet",callback:()=>document.querySelector("a[role='button'][data-testid='SideNav_NewTweet_Button']").click()},{alias:"u",description:"Goto user",callback:de.tw.openUser},{alias:"t",description:"Goto tweet",callback:()=>ae.createHints("article, article div[data-focusable='true'][role='link'][tabindex='0']")}],be["bsky.app"]=[{alias:"d",description:"Copy user DID",callback:de.by.copyDID},{alias:"p",description:"Copy user post ID",callback:de.by.copyPostID}],be["reddit.com"]=[{alias:"x",description:"Collapse comment",callback:()=>ae.createHints(".expand")},{alias:"X",description:"Collapse next comment",callback:de.re.collapseNextComment},{alias:"s",description:"Upvote",callback:()=>ae.createHints(".arrow.up")},{alias:"S",description:"Downvote",callback:()=>ae.createHints(".arrow.down")},{alias:"e",description:"Expand expando",callback:()=>ae.createHints(".expando-button")},{alias:"a",description:"View post (link)",callback:()=>ae.createHints(".title")},{alias:"A",description:"View post (link) (non-active new tab)",callback:()=>ae.createHints(".title",de.openAnchor({newTab:!0,active:!1}))},{alias:"c",description:"View post (comments)",callback:()=>ae.createHints(".comments")},{alias:"C",description:"View post (comments) (non-active new tab)",callback:()=>ae.createHints(".comments",de.openAnchor({newTab:!0,active:!1}))}],be["news.ycombinator.com"]=[{alias:"x",description:"Collapse comment",callback:()=>ae.createHints(".togg")},{alias:"X",description:"Collapse next comment",callback:de.hn.collapseNextComment},{alias:"s",description:"Upvote",callback:()=>ae.createHints(".votearrow[title='upvote']")},{alias:"S",description:"Downvote",callback:()=>ae.createHints(".votearrow[title='downvote']")},{alias:"a",description:"View post (link)",callback:()=>ae.createHints(".titleline>a")},{alias:"A",description:"View post (link and comments)",callback:()=>ae.createHints(".athing",de.hn.openLinkAndComments)},{alias:"c",description:"View post (comments)",callback:()=>ae.createHints(".subline>a[href^='item']")},{alias:"C",description:"View post (comments) (non-active new tab)",callback:()=>ae.createHints(".subline>a[href^='item']",de.openAnchor({newTab:!0,active:!1}))},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{leader:"",alias:"gp",description:"Go to parent",callback:de.hn.goParent},{leader:"",alias:"]]",description:"Next page",callback:()=>de.hn.goPage(1)},{leader:"",alias:"[[",description:"Prev page",callback:()=>de.hn.goPage(-1)}],be["producthunt.com"]=[{alias:"a",description:"View product (external)",callback:de.ph.openExternal},{alias:"v",description:"View product",callback:()=>ae.createHints("ul[class^='postsList_'] > li > div[class^='item_'] > a")},{alias:"s",description:"Upvote product",callback:()=>ae.createHints("button[data-test='vote-button']")}],be["behance.net"]=[{alias:"s",description:"Appreciate project",callback:()=>ae.createHints(".appreciation-button")},{alias:"b",description:"Add project to collection",callback:()=>document.querySelector(".qa-action-collection").click()},{alias:"a",description:"View project",callback:()=>ae.createHints(".rf-project-cover__title")},{alias:"A",description:"View project (non-active new tab)",callback:()=>ae.createHints(".rf-project-cover__title",de.openAnchor({newTab:!0,active:!1}))}],be["fonts.adobe.com"]=[{alias:"a",description:"Activate font",callback:()=>ae.createHints(".spectrum-ToggleSwitch-input")},{alias:"s",description:"Favorite font",callback:()=>ae.createHints(".favorite-toggle-icon")}],be["wikipedia.org"]=[{alias:"s",description:"Toggle simple version of current article",callback:de.wp.toggleSimple},{alias:"a",description:"View page",callback:()=>ae.createHints("#bodyContent :not(sup):not(.mw-editsection) > a:not([rel=nofollow])")},{alias:"e",description:"View external link",callback:()=>ae.createHints("a[rel=nofollow]")},{alias:"ys",description:"Copy article summary as Markdown",callback:()=>he.write(de.wp.markdownSummary())},{alias:"R",description:"View WikiRank for current article",callback:de.wp.viewWikiRank}],be["craigslist.org"]=[{alias:"a",description:"View listing",callback:()=>ae.createHints("a.result-title")}],be["stackoverflow.com"]=[{alias:"a",description:"View question",callback:()=>ae.createHints("a.question-hyperlink")}],be["aur.archlinux.org"]=[{alias:"a",description:"View package",callback:()=>ae.createHints("a[href^='/packages/'][href$='/']")}],be["home.nest.com"]=[{path:"/thermostat/DEVICE_.*",leader:"",alias:"=",description:"Increment temperature",callback:()=>de.nt.adjustTemp(1)},{path:"/thermostat/DEVICE_.*",leader:"",alias:"-",description:"Decrement temperature",callback:()=>de.nt.adjustTemp(-1)},{path:"/thermostat/DEVICE_.*",alias:"h",description:"Switch mode to Heat",callback:()=>de.nt.setMode("heat")},{path:"/thermostat/DEVICE_.*",alias:"c",description:"Switch mode to Cool",callback:()=>de.nt.setMode("cool")},{path:"/thermostat/DEVICE_.*",alias:"r",description:"Switch mode to Heat/Cool",callback:()=>de.nt.setMode("range")},{path:"/thermostat/DEVICE_.*",alias:"o",description:"Switch mode to Off",callback:()=>de.nt.setMode("off")},{path:"/thermostat/DEVICE_.*",alias:"f",description:"Switch fan On",callback:()=>de.nt.setFan(1)},{path:"/thermostat/DEVICE_.*",alias:"F",description:"Switch fan Off",callback:()=>de.nt.setFan(0)}];const ye="/docs(/.*)?";be["rescript-lang.org"]=[{leader:"",alias:"i",description:"Focus search field",path:`(${ye})?$`,callback:de.re.focusSearch},{alias:"a",description:"Open docs link",path:ye,callback:()=>ae.createHints("a[href^='/docs/']")},{alias:"L",description:"Open language manual",callback:()=>de.openLink("/docs/manual/latest/introduction")},{alias:"R",description:"Open ReScript + React docs",callback:()=>de.openLink("/docs/react/latest/introduction")},{alias:"G",description:"Open GenType docs",callback:()=>de.openLink("/docs/gentype/latest/introduction")},{alias:"P",description:"Open package index",callback:()=>de.openLink("/packages")},{alias:"Y",description:"Open playground",callback:()=>de.openLink("/try")},{alias:"S",description:"Open syntax lookup",callback:()=>de.openLink("/syntax-lookup")},{alias:"F",description:"Open community forum",callback:()=>de.openLink("https://forum.rescript-lang.org/")},{alias:"A",description:"Open API docs",callback:()=>de.openLink("/docs/manual/latest/api")},{alias:"J",description:"Open JS API docs",callback:()=>de.openLink("/docs/manual/latest/api/js")},{alias:"B",description:"Open Belt API docs",callback:()=>de.openLink("/docs/manual/latest/api/belt")},{alias:"D",description:"Open DOM API docs",callback:()=>de.openLink("/docs/manual/latest/api/dom")},{leader:"",alias:"w",description:"Scroll sidebar up",path:ye,callback:()=>de.re.scrollSidebar("up")},{leader:"",alias:"s",description:"Scroll sidebar down",path:ye,callback:()=>de.re.scrollSidebar("down")},{leader:"",alias:"e",description:"Scroll sidebar page up",path:ye,callback:()=>de.re.scrollSidebar("pageUp")},{leader:"",alias:"d",description:"Scroll sidebar page down",path:ye,callback:()=>de.re.scrollSidebar("pageDown")},{leader:"",alias:"k",description:"Scroll body up",path:ye,callback:()=>de.re.scrollContent("up")},{leader:"",alias:"j",description:"Scroll body down",path:ye,callback:()=>de.re.scrollContent("down")},{leader:"",alias:"K",description:"Scroll body page up",path:ye,callback:()=>de.re.scrollContent("pageUp")},{leader:"",alias:"J",description:"Scroll body page down",path:ye,callback:()=>de.re.scrollContent("pageDown")}],be["devdocs.io"]=[{leader:"",alias:"w",description:"Scroll sidebar up",callback:()=>de.dv.scrollSidebar("up")},{leader:"",alias:"s",description:"Scroll sidebar down",callback:()=>de.dv.scrollSidebar("down")},{leader:"",alias:"e",description:"Scroll sidebar page up",callback:()=>de.dv.scrollSidebar("pageUp")},{leader:"",alias:"d",description:"Scroll sidebar page down",callback:()=>de.dv.scrollSidebar("pageDown")},{leader:"",alias:"k",description:"Scroll body up",callback:()=>de.dv.scrollContent("up")},{leader:"",alias:"j",description:"Scroll body down",callback:()=>de.dv.scrollContent("down")},{leader:"",alias:"K",description:"Scroll body page up",callback:()=>de.dv.scrollContent("pageUp")},{leader:"",alias:"J",description:"Scroll body page down",callback:()=>de.dv.scrollContent("pageDown")}],be["ebay.com"]=[{alias:"fs",description:"Fakespot",callback:de.fakeSpot}],be["ikea.com"]=[{alias:"d",description:"Toggle Product Details",callback:()=>de.ik.toggleProductDetails()},{alias:"i",description:"Toggle Product Details",callback:()=>de.ik.toggleProductDetails()},{alias:"r",description:"Toggle Product Reviews",callback:()=>de.ik.toggleProductReviews()},{alias:"C",description:"Open Cart page",callback:()=>de.openLink("/us/en/shoppingcart/")},{alias:"P",description:"Open Profile page",callback:()=>de.openLink("/us/en/profile/login/")},{alias:"F",description:"Open Favorites page",callback:()=>de.openLink("/us/en/favorites/")},{alias:"O",description:"Open Orders page",callback:()=>de.openLink("/us/en/customer-service/track-manage-order/")}],be["chat.openai.com"]=[{alias:"n",description:"New chat",callback:()=>de.cg.newChat()},{alias:"a",description:"Open chat",callback:()=>ae.createHints([...de.cg.getChatLinks()])}],be["claude.ai"]=[{alias:"i",leader:"",description:"Focus input",callback:()=>setTimeout((()=>fe.dispatchMouseClick(document.querySelector(".ProseMirror[contenteditable=true]"))),0)}];const ve=(e,t=de.doi.providers.meta_citation_doi)=>{be[e]||(be[e]=[]),be[e].push({alias:"O",description:"Open DOI",callback:()=>{const e=de.doi.getLink(t);e&&de.openLink(e,{newTab:!0})},hide:!0})};s&&(ve("aaai.org"),ve("academic.oup.com"),ve("aeaweb.org"),ve("aging-us.com"),ve("ahajournals.org",de.doi.providers.meta_dcIdentifier_doi),ve("ajnr.org"),ve("annualreviews.org",de.doi.providers.meta_dcIdentifier_doi),ve("apa.org",(()=>document.querySelector(".citation a")?.innerText?.replace(/^https:\/\/doi\.org\//,""))),ve("ashpublications.org"),ve("asnjournals.org"),ve("biomedcentral.com"),ve("bmj.com"),ve("brill.com"),ve("cambridge.org"),ve("cell.com"),ve("cmaj.ca"),ve("cochranelibrary.com"),ve("diabetesjournals.org"),ve("direct.mit.edu"),ve("dl.acm.org",de.doi.providers.meta_dcIdentifier_doi),ve("elifesciences.org",(()=>document.querySelector("meta[name='dc.identifier']")?.content?.replace(/^doi:/,""))),ve("embopress.org"),ve("emerald.com",de.doi.providers.meta_dcIdentifier_doi),ve("episciences.org"),ve("epubs.siam.org",de.doi.providers.meta_dcIdentifier_doi),ve("ersjournals.com"),ve("europepmc.org"),ve("frontiersin.org"),ve("future-science.com",de.doi.providers.meta_dcIdentifier_doi),ve("go.gale.com"),ve("ieee.org",(()=>document.querySelector(".stats-document-abstract-doi a")?.innerText)),ve("ingentaconnect.com",(()=>document.querySelector("meta[name='DC.identifier']")?.content?.replace(/^info:doi\//,""))),ve("jacc.or",de.doi.providers.meta_dcIdentifier_doi),ve("jamanetwork.com"),ve("jci.org"),ve("jfdc.cnic.cn"),ve("jlr.org"),ve("jneurosci.org"),ve("journals.lww.com"),ve("journals.physiology.org",de.doi.providers.meta_dcIdentifier_doi),ve("journals.plos.org"),ve("journals.sagepub.com",de.doi.providers.meta_dcIdentifier_doi),ve("journals.uchicago.edu",de.doi.providers.meta_dcIdentifier_doi),ve("jst.go.jp"),ve("karger.com"),ve("koreascience.kr"),ve("koreascience.or.kr"),ve("liebertpub.com",de.doi.providers.meta_dcIdentifier_doi),ve("mdpi.com"),ve("msp.org",(()=>document.querySelector(".paper-doi a")?.innerText)),ve("nature.com"),ve("nejm.org",de.doi.providers.meta_dcIdentifier_doi),ve("nowpublishers.com"),ve("nsf.gov"),ve("ocl-journal.org"),ve("onlinelibrary.wiley.com"),ve("pnas.org"),ve("ncbi.nlm.nih.gov"),ve("pubs.acs.org",de.doi.providers.meta_dcIdentifier_doi),ve("pubs.geoscienceworld.org"),ve("pubs.rsna.org",de.doi.providers.meta_dcIdentifier_doi),ve("research.manchester.ac.uk"),ve("royalsocietypublishing.org",de.doi.providers.meta_dcIdentifier_doi),ve("rupress.org"),ve("science.org",de.doi.providers.meta_dcIdentifier_doi),ve("sciencedirect.com"),ve("scitation.org"),ve("spandidos-publications.com"),ve("spiedigitallibrary.org"),ve("springer.com"),ve("synapse.koreamed.org"),ve("tandfonline.com",de.doi.providers.meta_dcIdentifier_doi),ve("thelancet.com"),ve("worldscientific.com",de.doi.providers.meta_dcIdentifier_doi));const xe={unmaps:{mappings:["sb","sw","ob","oe","ow","oy","cp",";cp",";ap","spa","spb","spd","sps","spc","spi","sfr","zQ","zz","zR","ab","Q","q","ag","af",";s","yp","p","","",""],searchAliases:{s:["g","d","b","e","w","s","h","y"]},pages:[{url:/matt-startpage.vercel.app/,maps:["t","r","f","x","E","R","T"]},{url:/mail.proton.me/,maps:["t","f","E","T"]}]},maps:be,aliases:{"wikipedia.org":["wiktionary.org","wikiquote.org","wikisource.org","wikimedia.org","mediawiki.org","wikivoyage.org","wikibooks.org","wikinews.org","wikiversity.org","wikidata.org","wiki.archlinux.org"],"stackoverflow.com":["stackexchange.com","serverfault.com","superuser.com","askubuntu.com","stackapps.com","mathoverflow.net"]}},{htmlPurify:Se,htmlNode:_e,htmlForEach:$e,suggestionItem:Te,urlItem:Le,prettyDate:Oe,getDuckduckgoFaviconUrl:Ce,localStorage:Ee,runtimeHttpRequest:Ne}=ae,Re="data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2056%2056%22%20enable-background%3D%22new%200%200%2056%2056%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23eee%22%20d%3D%22M0%200h56v56h-56z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23999%22%20d%3D%22M36.4%2013.5h-18.6v24.9c0%201.4.9%202.3%202.3%202.3h18.7v-25c.1-1.4-1-2.2-2.4-2.2zm-6.2%203.5h5.1v6.4h-5.1v-6.4zm-8.8%200h6v1.8h-6v-1.8zm0%204.6h6v1.8h-6v-1.8zm0%2015.5v-1.8h13.8v1.8h-13.8zm13.8-4.5h-13.8v-1.8h13.8v1.8zm0-4.7h-13.8v-1.8h13.8v1.8z%22%2F%3E%0A%3C%2Fsvg%3E%0A",Ae="undefined"!=typeof navigator?navigator.language:"",qe={},De=e=>{let t="https://google.com/favicon.ico";return e.favicon?t=e.favicon:e.domain?t=Ce(`https://${e.domain}`):e.search&&(t=Ce(e.search)),{favicon:t,compl:`https://www.googleapis.com/customsearch/v1?key=${i.google_cs}&cx=${i[`google_cx_${e.alias}`]}&q=`,search:`https://cse.google.com/cse/publicurl?cx=${i[`google_cx_${e.alias}`]}&q=`,callback:e=>JSON.parse(e.text).items.map((e=>Te({url:e.link})`
${Se(e.htmlTitle)}
${Se(e.htmlSnippet)}
@@ -183,4 +183,4 @@
${e.id}
dataset
- `))]},qe.ay={alias:"ay",name:"aoty",search:"https://www.albumoftheyear.org/search/?q="},qe.gn={alias:"gn",name:"genius",search:"https://genius.com/search?q="},qe.lf={alias:"lf",name:"lastfm",search:"https://www.last.fm/search?q="},qe.ym={alias:"ym",name:"youtube-music",search:"https://music.youtube.com/search?q="},qe.st={alias:"sp",name:"spotify",search:"https://open.spotify.com/search/"},qe.td={alias:"td",name:"tidal",search:"https://listen.tidal.com/search?q="},qe.st={alias:"st",name:"steam",search:"https://store.steampowered.com/search/?term="},qe.gd={alias:"gd",name:"ggdeals",search:"https://gg.deals/search/?title="},qe.hl={alias:"hl",name:"howlongtobeat",search:"https://www.howlongtobeat.com/?q="},qe.up={alias:"up",name:"unsplash",search:"https://unsplash.com/s/photos/"},qe.pi={alias:"pi",name:"pinterest",search:"https://www.pinterest.com/search/pins/?q="},qe.px={alias:"px",name:"pixiv",search:"https://www.pixiv.net/tags/"};const Ue={settings:{hintAlign:"left",hintCharacters:"qwertasdfgzxcvb",omnibarSuggestionTimeout:500,richHintsForKeystroke:1,defaultSearchEngine:"bs",stealFocusOnLoad:!1,theme:"\n:root {\n /* Font */\n --font: 'JetBrainsMono Nerd Font';\n --font-size: 14.0px;\n --font-weight: bold;\n\n --fg: #cad3f5;\n --bg: #24273a;\n --bg-dark: #1e2030;\n --border: #6e738d;\n --main-fg: #cad3f5;\n --accent-fg: #b7bdf8;\n --info-fg: #ed8796;\n --select: #494d64;\n}\n\n/* ---------- Generic ---------- */\n.sk_theme {\nbackground: var(--bg);\ncolor: var(--fg);\n background-color: var(--bg);\n border-color: var(--border);\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n\ninput {\n font-family: var(--font);\n font-weight: var(--font-weight);\n}\n\n.sk_theme tbody {\n color: var(--fg);\n}\n\n.sk_theme input {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab {\n background: var(--bg-dark);\n border: 1px solid var(--border);\n}\n\n#sk_tabs .sk_tab_title {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab_url {\n color: var(--main-fg);\n}\n\n#sk_tabs .sk_tab_hint {\n background: var(--bg);\n border: 1px solid var(--border);\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_frame {\n background: var(--bg);\n opacity: 0.2;\n color: var(--accent-fg);\n}\n\n/* ---------- Omnibar ---------- */\n/* Uncomment this and use settings.omnibarPosition = 'bottom' for Pentadactyl/Tridactyl style bottom bar */\n/* .sk_theme#sk_omnibar {\n width: 100%;\n left: 0;\n} */\n\n.sk_theme .title {\n color: var(--accent-fg);\n}\n\n.sk_theme .url {\n color: var(--main-fg);\n}\n\n.sk_theme .annotation {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_highlight {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_timestamp {\n color: var(--info-fg);\n}\n\n.sk_theme .omnibar_visitcount {\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) {\n background: var(--bg-dark);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li.focused {\n background: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea {\n border-top-color: var(--border);\n border-bottom-color: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea input,\n.sk_theme #sk_omnibarSearchArea span {\n font-size: var(--font-size);\n}\n\n.sk_theme .separator {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Notification Banner ---------- */\n#sk_banner {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n background: var(--bg);\n border-color: var(--border);\n color: var(--fg);\n opacity: 0.9;\n}\n\n/* ---------- Popup Keys ---------- */\n#sk_keystroke {\n background-color: var(--bg);\n}\n\n.sk_theme kbd .candidates {\n color: var(--info-fg);\n}\n\n.sk_theme span.annotation {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Translation Bubble ---------- */\n#sk_bubble {\n background-color: var(--bg) !important;\n color: var(--fg) !important;\n border-color: var(--border) !important;\n}\n\n#sk_bubble * {\n color: var(--fg) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(1) {\n border-top-color: var(--border) !important;\n border-bottom-color: var(--border) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(2) {\n border-top-color: var(--bg) !important;\n border-bottom-color: var(--bg) !important;\n}\n\n/* ---------- Search ---------- */\n#sk_status,\n#sk_find {\n font-size: var(--font-size);\n border-color: var(--border);\n}\n\n.sk_theme kbd {\n background: var(--bg-dark);\n border-color: var(--border);\n box-shadow: none;\n color: var(--fg);\n}\n\n.sk_theme .feature_name span {\n color: var(--main-fg);\n}\n\n/* ---------- ACE Editor ---------- */\n#sk_editor {\n background: var(--bg-dark) !important;\n height: 50% !important;\n /* Remove this to restore the default editor size */\n}\n\n.ace_dialog-bottom {\n border-top: 1px solid var(--bg) !important;\n}\n\n.ace-chrome .ace_print-margin,\n.ace_gutter,\n.ace_gutter-cell,\n.ace_dialog {\n background: var(--bg) !important;\n}\n\n.ace-chrome {\n color: var(--fg) !important;\n}\n\n.ace_gutter,\n.ace_dialog {\n color: var(--fg) !important;\n}\n\n.ace_cursor {\n color: var(--fg) !important;\n}\n\n.normal-mode .ace_cursor {\n background-color: var(--fg) !important;\n border: var(--fg) !important;\n opacity: 0.7 !important;\n}\n\n.ace_marker-layer .ace_selection {\n background: var(--select) !important;\n}\n\n.ace_editor,\n.ace_dialog span,\n.ace_dialog input {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n"},keys:xe,searchEngines:qe,siteleader:"a",searchleader:"s",logLevels:["error"]},{categories:He}=ue,{mapkey:Me,map:je,unmap:ze,unmapAllExcept:Fe,Clipboard:Ve,Front:Be,removeSearchAlias:Ge,addSearchAlias:Je}=t,We=(e,t,a)=>{const n=Object.entries(t).flatMap((([t,a])=>a.flatMap((a=>({[a]:e[t]}))))),r=Object.assign({},e,...n);Object.entries(r).forEach((([e,t])=>t.forEach((t=>((e,t,a)=>{const{alias:n,callback:r,leader:o=("global"===e?"":a),category:i=He.misc,description:s="",path:c="(/.*)?"}=t,l={},p=`${o}${n}`;if("global"!==e){const t=e.replace(".","\\.");l.domain=new RegExp(`^http(s)?://(([a-zA-Z0-9-_]+\\.)*)(${t})${c}`)}const d=`#${i} ${s}`;void 0!==t.map?je(n,t.map):Me(p,d,r,l)})(e,t,a)))))},Ye=async()=>{if(window.surfingKeys=t,Ue.settings&&Object.assign(settings,"function"==typeof Ue.settings?Ue.settings():Ue.settings),Ue.logLevels&&await chrome.storage.local.set({logLevels:Ue.logLevels}),Ue.keys&&Ue.keys.unmaps){const{unmaps:e}=Ue.keys;e.mappings&&e.mappings.forEach((e=>ze(e))),e.searchAliases&&Object.entries(e.searchAliases).forEach((([e,t])=>{t.forEach((t=>Ge(t,e)))})),e.pages&&e.pages.forEach((e=>Fe(e.maps,e.url)))}var e,a;if(Ue.searchEngines&&(e=Ue.searchEngines,a=Ue.searchleader??"o",Object.values(e).forEach((e=>{const t={favicon_url:e.favicon,skipMaps:!0};Je(e.alias,e.name,e.search,"",e.compl,e.callback,void 0,t),Me(`${a}${e.alias}`,`#8Search ${e.name}`,(()=>Be.openOmnibar({type:"SearchEngine",extra:e.alias}))),Me(`c${a}${e.alias}`,`#8Search ${e.name} with clipboard contents`,(()=>{Ve.read((t=>{Be.openOmnibar({type:"SearchEngine",pref:t.data,extra:e.alias})}))}))}))),Ue.keys&&Ue.keys.maps){const{keys:e}=Ue,{maps:t,aliases:a={}}=e;We(t,a,Ue.siteleader)}};"undefined"!=typeof window&&Ye()})()})();
\ No newline at end of file
+ `))]},qe.ay={alias:"ay",name:"aoty",search:"https://www.albumoftheyear.org/search/?q="},qe.gn={alias:"gn",name:"genius",search:"https://genius.com/search?q="},qe.lf={alias:"lf",name:"lastfm",search:"https://www.last.fm/search?q="},qe.ym={alias:"ym",name:"youtube-music",search:"https://music.youtube.com/search?q="},qe.st={alias:"sp",name:"spotify",search:"https://open.spotify.com/search/"},qe.td={alias:"td",name:"tidal",search:"https://listen.tidal.com/search?q="},qe.st={alias:"st",name:"steam",search:"https://store.steampowered.com/search/?term="},qe.gd={alias:"gd",name:"ggdeals",search:"https://gg.deals/search/?title="},qe.hl={alias:"hl",name:"howlongtobeat",search:"https://www.howlongtobeat.com/?q="},qe.up={alias:"up",name:"unsplash",search:"https://unsplash.com/s/photos/"},qe.pi={alias:"pi",name:"pinterest",search:"https://www.pinterest.com/search/pins/?q="},qe.px={alias:"px",name:"pixiv",search:"https://www.pixiv.net/tags/"};const Ue={settings:{hintAlign:"left",hintCharacters:"qwertasdfgzxcvb",omnibarSuggestionTimeout:500,richHintsForKeystroke:1,defaultSearchEngine:"bs",stealFocusOnLoad:!1,theme:"\n:root {\n /* Font */\n --font: 'JetBrainsMono Nerd Font';\n --font-size: 14.0px;\n --font-weight: bold;\n\n --fg: #cad3f5;\n --bg: #24273a;\n --bg-dark: #1e2030;\n --border: #6e738d;\n --main-fg: #cad3f5;\n --accent-fg: #b7bdf8;\n --info-fg: #ed8796;\n --select: #494d64;\n}\n\n/* ---------- Generic ---------- */\n.sk_theme {\nbackground: var(--bg);\ncolor: var(--fg);\n background-color: var(--bg);\n border-color: var(--border);\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n\ninput {\n font-family: var(--font);\n font-weight: var(--font-weight);\n}\n\n.sk_theme tbody {\n color: var(--fg);\n}\n\n.sk_theme input {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab {\n background: var(--bg-dark);\n border: 1px solid var(--border);\n}\n\n#sk_tabs .sk_tab_title {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab_url {\n color: var(--main-fg);\n}\n\n#sk_tabs .sk_tab_hint {\n background: var(--bg);\n border: 1px solid var(--border);\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_frame {\n background: var(--bg);\n opacity: 0.2;\n color: var(--accent-fg);\n}\n\n/* ---------- Omnibar ---------- */\n/* Uncomment this and use settings.omnibarPosition = 'bottom' for Pentadactyl/Tridactyl style bottom bar */\n/* .sk_theme#sk_omnibar {\n width: 100%;\n left: 0;\n} */\n\n.sk_theme .title {\n color: var(--accent-fg);\n}\n\n.sk_theme .url {\n color: var(--main-fg);\n}\n\n.sk_theme .annotation {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_highlight {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_timestamp {\n color: var(--info-fg);\n}\n\n.sk_theme .omnibar_visitcount {\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) {\n background: var(--bg-dark);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li.focused {\n background: #363a4f;\n}\n\n.sk_theme #sk_omnibarSearchArea {\n border-top-color: var(--border);\n border-bottom-color: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea input,\n.sk_theme #sk_omnibarSearchArea span {\n font-size: var(--font-size);\n}\n\n.sk_theme .separator {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Notification Banner ---------- */\n#sk_banner {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n background: var(--bg);\n border-color: var(--border);\n color: var(--fg);\n opacity: 0.9;\n}\n\n/* ---------- Popup Keys ---------- */\n#sk_keystroke {\n background-color: var(--bg);\n}\n\n.sk_theme kbd .candidates {\n color: var(--info-fg);\n}\n\n.sk_theme span.annotation {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Translation Bubble ---------- */\n#sk_bubble {\n background-color: var(--bg) !important;\n color: var(--fg) !important;\n border-color: var(--border) !important;\n}\n\n#sk_bubble * {\n color: var(--fg) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(1) {\n border-top-color: var(--border) !important;\n border-bottom-color: var(--border) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(2) {\n border-top-color: var(--bg) !important;\n border-bottom-color: var(--bg) !important;\n}\n\n/* ---------- Search ---------- */\n#sk_status,\n#sk_find {\n font-size: var(--font-size);\n border-color: var(--border);\n}\n\n.sk_theme kbd {\n background: var(--bg-dark);\n border-color: var(--border);\n box-shadow: none;\n color: var(--fg);\n}\n\n.sk_theme .feature_name span {\n color: var(--main-fg);\n}\n\n/* ---------- ACE Editor ---------- */\n#sk_editor {\n background: var(--bg-dark) !important;\n height: 50% !important;\n /* Remove this to restore the default editor size */\n}\n\n.ace_dialog-bottom {\n border-top: 1px solid var(--bg) !important;\n}\n\n.ace-chrome .ace_print-margin,\n.ace_gutter,\n.ace_gutter-cell,\n.ace_dialog {\n background: var(--bg) !important;\n}\n\n.ace-chrome {\n color: var(--fg) !important;\n}\n\n.ace_gutter,\n.ace_dialog {\n color: var(--fg) !important;\n}\n\n.ace_cursor {\n color: var(--fg) !important;\n}\n\n.normal-mode .ace_cursor {\n background-color: var(--fg) !important;\n border: var(--fg) !important;\n opacity: 0.7 !important;\n}\n\n.ace_marker-layer .ace_selection {\n background: var(--select) !important;\n}\n\n.ace_editor,\n.ace_dialog span,\n.ace_dialog input {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n"},keys:xe,searchEngines:qe,siteleader:"a",searchleader:"s",logLevels:["error"]},{categories:He}=ue,{mapkey:Me,map:je,unmap:ze,unmapAllExcept:Fe,Clipboard:Ve,Front:Be,removeSearchAlias:Ge,addSearchAlias:Je}=t,We=(e,t,a)=>{const n=Object.entries(t).flatMap((([t,a])=>a.flatMap((a=>({[a]:e[t]}))))),r=Object.assign({},e,...n);Object.entries(r).forEach((([e,t])=>t.forEach((t=>((e,t,a)=>{const{alias:n,callback:r,leader:o=("global"===e?"":a),category:i=He.misc,description:s="",path:c="(/.*)?"}=t,l={},p=`${o}${n}`;if("global"!==e){const t=e.replace(".","\\.");l.domain=new RegExp(`^http(s)?://(([a-zA-Z0-9-_]+\\.)*)(${t})${c}`)}const d=`#${i} ${s}`;void 0!==t.map?je(n,t.map):Me(p,d,r,l)})(e,t,a)))))},Ye=async()=>{if(window.surfingKeys=t,Ue.settings&&Object.assign(settings,"function"==typeof Ue.settings?Ue.settings():Ue.settings),Ue.logLevels&&await chrome.storage.local.set({logLevels:Ue.logLevels}),Ue.keys&&Ue.keys.unmaps){const{unmaps:e}=Ue.keys;e.mappings&&e.mappings.forEach((e=>ze(e))),e.searchAliases&&Object.entries(e.searchAliases).forEach((([e,t])=>{t.forEach((t=>Ge(t,e)))})),e.pages&&e.pages.forEach((e=>Fe(e.maps,e.url)))}var e,a;if(Ue.searchEngines&&(e=Ue.searchEngines,a=Ue.searchleader??"o",Object.values(e).forEach((e=>{const t={favicon_url:e.favicon,skipMaps:!0};Je(e.alias,e.name,e.search,"",e.compl,e.callback,void 0,t),Me(`${a}${e.alias}`,`#8Search ${e.name}`,(()=>Be.openOmnibar({type:"SearchEngine",extra:e.alias}))),Me(`c${a}${e.alias}`,`#8Search ${e.name} with clipboard contents`,(()=>{Ve.read((t=>{Be.openOmnibar({type:"SearchEngine",pref:t.data,extra:e.alias})}))}))}))),Ue.keys&&Ue.keys.maps){const{keys:e}=Ue,{maps:t,aliases:a={}}=e;We(t,a,Ue.siteleader)}};"undefined"!=typeof window&&Ye()})()})();
\ No newline at end of file