\n'],{type:"text/html"});h=URL.createObjectURL(A)}return h}(),N(this.id);let B=null,Q=!1;if("string"==typeof this.special_pages[A])B=this.special_pages[A];else try{let Q={};g&&(console.log("placing post request:",g),Q={method:"POST",headers:{"Content-Type":g.enctype},body:g.body});let I=await s.fetch(A,Q);B=await I.text(),A=I.url}catch(A){Q=c(A)}this.url=new URL(A);let I=this.site_settings.find((A=>A.hostname.test(this.url.hostname)))||{};I={...this.default_settings,...I},console.log("site settings:",I),await async function(A){let g=!1;for(globalThis.addEventListener("message",(A=>{"pong"===A.data.type&&(g=!0)}));!g;){let g={type:"ping",id:Math.random()+""};A.contentWindow.postMessage(g,"*"),await new Promise((A=>setTimeout(A,50)))}}(this.iframe);let C=new MessageChannel;this.rpc_target.set_target(C.port1),C.port1.start(),await function(A,g){let B={type:"set_host",id:Math.random()+""};(A.contentWindow||A).postMessage(B,{targetOrigin:"*",transfer:[g]})}(this.iframe,C.port2);try{await this.send_page({url:this.url.href,html:B,frame_id:this.id,error:Q,settings:I,default_settings:this.default_settings,local_storage:y[this.url.origin],version:n})}catch(A){let g=c(A);await this.send_page({url:this.url.href,html:B,frame_id:this.id,error:g,settings:I,default_settings:this.default_settings,local_storage:void 0,version:n})}this.iframe.style.backgroundColor="unset",this.on_load()}}D.navigate=async(A,g,B=!0,Q=null)=>{let I=Y[A];I&&(B?await I.navigate_to(g,Q):(I.url=new URL(g),I.on_url_change()))},D.local_storage=async(A,g)=>{let B=Y[A];B&&(y[B.url.origin]=g,window.origin&&localStorage.setItem(l,JSON.stringify(y)))},window.addEventListener("message",w),E="host";const n={ver:"0.2.0",hash:"3d46b82"};var U=Q.p_,k=Q.GB,d=Q.Nm,J=Q.rE;const L='\n\n \n \n \n Sandstone Homepage\n \n \n \n \n \n \n \n \n \n \n \n',Z=A=>document.getElementById(A),H=Z("favicon_img"),r=Z("favicon_text"),b=Z("navigate_button"),S=Z("url_box"),W=Z("frame_container"),p=Z("version_text"),m=Z("options_button"),K=Z("options_div"),V=Z("wisp_url_input"),u=Z("close_options_button"),X=Z("eval_js_input"),x=Z("eval_js_button"),f=new U.ProxyFrame;async function q(){let A=S.value;A.startsWith("http:")||A.startsWith("https:")||A.startsWith("sandstone:")||(S.value="https://"+A),await f.navigate_to(S.value)}function v(){K.style.display="none"===K.style.display?"flex":"none",W.style.filter=W.style.filter?"":"brightness(50%)",k.set_websocket(V.value)}globalThis.sandstone=g,globalThis.main_frame=f,f.special_pages={"sandstone://home":null},f.on_navigate=()=>{S.value=f.url.href,H.style.display="none",r.style.display="initial"},f.on_load=async()=>{S.value=f.url.href;let A=await f.get_favicon();if(!A.startsWith("data:")){let g=await k.fetch(A);if(!g.ok)return;let B=await g.blob();A=URL.createObjectURL(B)}H.src=A,H.style.display="initial",r.style.display="none"},f.on_url_change=()=>{S.value=f.url.href},async function(){location.hash&&(S.value=location.hash.substring(1));let A="wss://wisp.mercurywork.shop/";location.hostname.endsWith(".pages.dev")||"http:"!==location.protocol&&"https:"!==location.protocol||(A=location.origin.replace("http","ws")),k.set_websocket(A),p.textContent=`v${J.ver} (${J.hash})`,V.value=A,m.onclick=v,u.onclick=v,document.body.onkeydown=A=>{"Escape"===A.key&&"none"!==K.style.display&&v()},x.onclick=()=>{f.eval_js(X.value)},await async function(){let A=(new DOMParser).parseFromString(L,"text/html"),g=document.querySelector("link[rel='icon']").href;if(!g.startsWith("data:")){let A=await fetch(g),B=await A.blob();g=await new Promise((A=>{var g=new FileReader;g.onload=g=>{A(g.target.result)},g.readAsDataURL(B)}))}A.querySelector("link[rel='icon']").href=g,A.getElementById("main_img").src=g,A.getElementById("sandstone_version").textContent=p.textContent;let B=""+A.documentElement.outerHTML;f.special_pages["sandstone://home"]=B}(),b.onclick=q,S.onkeydown=A=>{"Enter"===A.code&&q()},W.append(f.iframe),await q(),W.style.backgroundColor="unset"}()})();