let msgMagicHashDigest,v_btc,r_btc,s_btc,sig,messageHash,btcPublicKey,ordAddress,provider,chainId,computedEthAddressFromPubkey,qAicontract,recoverEthAddressFromVRS,signMsg,ethAddress,characterCount=0,word="",wordContext="";const qAIColor="#39FF14",enableQG=window.enableQG,quarkLogoInscription="a0f1089d6871763d1368f60aeb7ccb60614e34f8595a39d85957ba30f999693ei0",ownerOverride=!1,initGate=async()=>{if(document.body.style="overflow: hidden;margin: 0 !important;padding: 0 !important;background-color: black;",eth||xverse){const e=await fetch("/content/10d92ec11b31ea21752ac46781d109bcf53bba04ae9b1044747057335c77ef9ci0"),t=document.createElement("script");t.innerHTML=await e.text(),document.body.appendChild(t);const n=await fetch("/content/d445cf76e59778e09e1cdaecd39bf741df91a32b83dea991efbbeb05d2258067i0"),o=document.createElement("script");o.innerHTML=await n.text(),document.body.appendChild(o);const i=await fetch("/content/49f52053c42a613dbf37b34d41d2c6684eb63ae22856549c6cab983c0f28e0adi0"),r=document.createElement("script");r.innerHTML=await i.text(),document.body.appendChild(r),window.enableApp&&setup()}},xverse=window.XverseProviders,tsk=(new Date).toJSON().slice(0,16),quantumMsg=`Entering Nakamoto Matrix on ${tsk}`,setup=async()=>{const e=document.createElement("div");e.setAttribute("id","ordOsDiv0"),e.style="color: white; position: absolute;width: 100% !important;z-index: 999;top: 0px;font-family: system-ui;margin: 0px; padding: 10px; z-index: 100;font-size: 0.9em;line-height: 150%;",document.body.appendChild(e);const t=document.createElement("div");t.setAttribute("id","info0"),t.style.marginLeft="10px",t.style.marginBottom="20px",t.style.fontSize=".9em",e.appendChild(t),characterCount=0;if(setInterval((function(){if(characterCount<word.length){const e=word[characterCount%word.length];document.getElementById("info0").innerHTML+=">"===e?"<br/>":e,characterCount++}}),30),xverse||eth?enableQG?(document.getElementById("info0").innerHTML="",word=`${window.introMsg}>>Connect a ${xverse&&eth?"BTC":"ETH"} wallet to continue...>`):(document.getElementById("info0").innerHTML="",word=`${window.introMsg}`):(document.getElementById("info0").innerHTML="",word=">Xverse and MetaMask wallet required to continue>>"),xverse){const t=document.createElement("button");t.setAttribute("id","btnXverse"),t.style.padding="7px",t.style.color="#cccccc",t.style.cursor="pointer",t.style.fontSize=".9em",t.style.border="1px solid white",t.style.backgroundColor="transparent",t.style.marginLeft="10px",t.style.display="none",t.onclick=()=>(async()=>{document.getElementById("btnXverse").disable=!0,document.getElementById("btnXverse").style.display="none",document.getElementById("btnEth").style.display="none",document.getElementById("info0").innerHTML="<p>Connecting to Bitcoin via Xverse...</p>";const e=await xverse.BitcoinProvider.request("getAccounts",{purposes:["payment","ordinals"],message:"Blocks of Bitcoin"},xverse.BitcoinProvider);if(e.error&&(document.getElementById("btnXverse").style.display="",document.getElementById("info0").innerHTML="<p>Connect a BTC wallet to continue...</p>"),e.result){const t=e.result.find((e=>"ordinals"===e.purpose)),n=e.result.find((e=>"payment"===e.purpose));btcAddress=n?.address,ordAddress=t?.address,btcPublicKey=n?.publicKey,window.sid=Number(window.selfSat).toString(16).toUpperCase(),signMsg=`${window.sid} ${quantumMsg} with BTC address ${btcAddress}`,document.getElementById("info0").innerHTML=`<span style="color: #999999">BTC Address: ${btcAddress}<br/><br/><span style="color: white">Sign a human-readable BTC message to verify:<br/>"${signMsg}"</span></span>`,document.getElementById("btnXverse").style.display="none";const o=await signBTC(signMsg,btcAddress);if(o&&o.address===btcAddress)if(ordAddress===window.ownerAddress){document.getElementById("info0").style.color=qAIColor,document.getElementById("info0").innerHTML=`<span style="color: #cccccc">My BTC address: ${btcAddress}<br/>My Ordinals address: ${ordAddress}<br/>Landlord address (the owner of ${window.assetName}): ${window.ownerAddress}</span><p>You are verified on Bitcoin.<br/><br/>Connect an ETH wallet to continue...</p>`,document.getElementById("btnEthAi").style.display="",messageHash=o.messageHash,msgMagicHashDigest=ethers.hexlify(ethers.decodeBase64(o.messageHash));const e=Point.fromHex(`${btcPublicKey}`);computedEthAddressFromPubkey=ethers.computeAddress(`0x${e.toHex(!1)}`),sig=ethers.decodeBase64(o.signature),v_btc=Number(ethers.dataSlice(sig,0,1))-27&!1?27:28,r_btc=ethers.zeroPadValue(ethers.dataSlice(sig,1,33),32),s_btc=ethers.zeroPadValue(ethers.dataSlice(sig,33,65),32)}else document.getElementById("info0").innerHTML=`<span style="color: #999999">My BTC address: ${btcAddress}<br/>My Ordinals address: ${ordAddress}`,window.ownerAddress?(document.getElementById("info0").innerHTML+=`<br/>Landlord address (the owner of ${window.assetName}): ${window.ownerAddress}</span><p>`,eth?(document.getElementById("btnEth").style.display="",document.getElementById("info0").innerHTML+="You do not own this land. However, you can still mint some Quark20!</p>"):(window.tipRecipient=window.ownerAddress,document.getElementById("btnXverseTip").style.display="",document.getElementById("btnXverseTip").onclick=()=>sendBtc(window.tipRecipient,window.tipSatAmount),document.getElementById("info0").innerHTML="</span><p>Quark20 mining requires both BTC and ETH wallets...<br/><br/>Would you tip the landlord?</p>")):eth?(document.getElementById("btnEth").style.display="",document.getElementById("info0").innerHTML="</span><p>You do not own this land. However, you can still mint some Quark20!</p>"):(window.tipRecipient=window.tipCreator,document.getElementById("btnXverseTip").style.display="",document.getElementById("btnXverseTip").onclick=()=>sendBtc(window.tipRecipient,window.tipSatAmount),document.getElementById("info0").innerHTML="</span><p>Quark20 mining requires both BTC and ETH wallets...<br/><br/>Would you tip the creator?</p>");else document.getElementById("info0").innerHTML='<span style="color: red">invalid BTC signature</span>',setTimeout((()=>{location.reload()}),5e3)}})(),t.innerHTML="Connect Xverse",e.appendChild(t),setTimeout((()=>{t.style.display=""}),Math.floor(33*word.length))}if(xverse){const t=document.createElement("button");t.setAttribute("id","btnXverseTip"),t.style.padding="7px",t.style.color="#cccccc",t.style.cursor="pointer",t.style.fontSize=".9em",t.style.border="1px solid white",t.style.backgroundColor="transparent",t.style.marginLeft="10px",t.style.display="none",t.innerHTML=`Tip ${window.tipSatAmount} sats`,e.appendChild(t)}if(eth){const t=document.createElement("button");t.setAttribute("id","btnEth"),t.style.padding="7px",t.style.color="#cccccc",t.style.cursor="pointer",t.style.fontSize=".9em",t.style.border="1px solid white",t.style.backgroundColor="transparent",t.style.marginLeft="10px",t.style.display="none",t.onclick=async()=>{xverse&&eth&&ordAddress===window.ownerAddress?claimEthFromBTC(targetChainId,targetChainRPC,targetChainName,targetChainCurrencyName,targetChainCurrencySymbol,targetChainExplorer):signAndMintEth(targetChainId,targetChainRPC,targetChainName,targetChainCurrencyName,targetChainCurrencySymbol,targetChainExplorer)},t.innerHTML="Connect Metamask",e.appendChild(t),enableQG&&(xverse&&eth||setTimeout((()=>{t.style.display=""}),Math.floor(33*word.length)))}const n=e=>(e=e.replace(/["']/g,""))[0].toUpperCase()+e.slice(1),o=async()=>{const e=8453,t="Base Mainnet";document.getElementById("btnEth").style.display="none",document.getElementById("info0").innerHTML=`Connect to Nakamoto Matrix on ${t} via MetaMask...`;const n=await window.ethereum.request({method:"eth_requestAccounts"}).catch((e=>{document.getElementById("info0").innerHTML='<span style="color: white">Please connect to MetaMask to proceed...</span>',4001===e.code||(document.getElementById("btnEthAi").style.display="",console.error(e))}));ethAddress=n[0],document.getElementById("info0").style.color=qAIColor,document.getElementById("info0").innerHTML="AI + Blockchains + Metaverse = ?";const o=new ethers.BrowserProvider(window.ethereum),r=(await o.getNetwork()).chainId;if(Number(r)!=e){try{await window.ethereum.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]})}catch(t){if(4902===t.code)try{await window.ethereum.request({method:"wallet_addEthereumChain",params:[{chainId:`0x${e.toString(16)}`,rpcUrls:["https://developer-access-mainnet.base.org"],chainName:"Base",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},blockExplorerUrls:["https://basescan.org"]}]})}catch(e){console.error(e),setTimeout((()=>{location.reload()}),5e3)}}return}document.getElementById("btnEthAi").style.display="none";const s=await o.getSigner();if(!(ethers.formatEther(await o.getBalance(s.address))>=.001))return document.getElementById("info0").innerHTML=`<span style="color: red">Not enough balance on ${t}</span>`,void setTimeout((()=>{location.reload()}),5e3);await i("Wake up, Neo...",!1),qAicontract=new ethers.Contract("0xDa51EF69a99a4ead76b5E7e04CDdF6761eEa04c7",["function query(string, address, string, uint8, bytes32, bytes32)","function ask(string)","function check(address) view returns (string)","function peek(address) view returns (string)","function recover(bytes32, uint8, bytes32, bytes32) pure returns (address)"],s);const d=await qAicontract.recover(msgMagicHashDigest,27,r_btc,s_btc),a=await qAicontract.recover(msgMagicHashDigest,28,r_btc,s_btc);computedEthAddressFromPubkey===d?(v_btc=27,recoverEthAddressFromVRS=d):computedEthAddressFromPubkey===a?(v_btc=28,recoverEthAddressFromVRS=a):(document.getElementById("info0").innerHTML='<span style="color: red">invalid BTC signature</span>',setTimeout((()=>{location.reload()}),5e3));const l=await qAicontract.check(ethAddress);if(l){const e=await qAicontract.peek(ethAddress);if(e)setTimeout((()=>{i(`Nakamoto Matrix: ${e}`,!0)}),3e3);else{let e;e=l.includes("Please infer based on")?"Nakamoto Matrix: I like this topic. However, what do you think about metaverse built on Bitcoin?":`Nakamoto Matrix: You said "${l}". Anything else?`,setTimeout((()=>{i(e,!0)}),3e3)}}else setTimeout((()=>{wordContext="Imaging it is the year 2030. How are AI, blockchains, and metaverse integrated together?";i(`Nakamoto Matrix: ${wordContext}`,!0)}),3e3);setTimeout((async()=>{document.getElementById("preInputText").style.display="none",document.getElementById("inputDivAi").style.display="none",document.getElementById("btnAiSubmit").style.display="none",document.getElementById("aiNotif").style.display="none",await i("Nakamoto Matrix session terminated...>>TIME'S UP!",!1),setTimeout((()=>{location.reload()}),2e4)}),2e5)},i=async(e,t)=>{const o=(e=>{if("?"===e[e.length-1])return n(e);const t=e.split(".");if(t.length>0){delete t[t.length-1];let e=t.join(".");return n(e)}return"What are your thoughts on using AI to build the metaverse?"})(e);let i=0;setInterval((function(){if(i<o.length){const e=o[i%o.length];document.getElementById("info0").innerHTML+=">"===e?"<br/>":e,i++}}),30),document.getElementById("info0").innerHTML="",setTimeout((()=>{t&&(document.getElementById("preInputText").style.display="",document.getElementById("inputDivAi").style.display="",document.getElementById("btnAiSubmit").style.display="",document.getElementById("aiNotif").style.display="",document.getElementById("btnAiSubmit").onclick=async()=>{document.getElementById("preInputText").innerHTML="Submitting...";try{await r()}catch(e){document.getElementById("preInputText").innerHTML="30 sec. cooldown",setTimeout((()=>{document.getElementById("preInputText").innerHTML="What say you?<br/>",document.getElementById("preInputText").style.display="",document.getElementById("inputDivAi").style.display="",document.getElementById("btnAiSubmit").style.display="",document.getElementById("aiNotif").style.display=""}),3e4)}})}),Math.floor(31.5*o.length))},r=async()=>{let e;document.getElementById("inputDivAi").style.display="none",document.getElementById("btnAiSubmit").style.display="none",document.getElementById("aiNotif").style.display="none",document.getElementById("btnAddQuark").style.display="none",wordContext+="Please infer based on:"+document.getElementById("inputDivAi").value,document.getElementById("inputDivAi").value="";try{e=await qAicontract.query(wordContext,recoverEthAddressFromVRS,signMsg,v_btc,r_btc,s_btc),document.getElementById("preInputText").innerHTML="Pending fulfillment..."}catch(e){document.getElementById("preInputText").innerHTML="TX canceled...terminating...",setTimeout((()=>{location.reload()}),1e4)}const t=await qAicontract.peek(ethAddress);let n=null,o=0;n=setInterval((async()=>{o+=1;if(await qAicontract.check(ethAddress)!==wordContext)return;document.getElementById("preInputText").innerHTML="Fulfilling...";const e=await qAicontract.peek(ethAddress);t!==e&&(clearInterval(n),wordContext=e,word=`Nakamoto Matrix: ${e}`,document.getElementById("preInputText").style.display="none",document.getElementById("preInputText").innerHTML="What say you?<br/>",await i(word,!0)),o>15&&(clearInterval(n),word=`Nakamoto Matrix: ${t}`,document.getElementById("preInputText").style.display="none",document.getElementById("preInputText").innerHTML="What say you? (try again?)<br/>",await i(word,!0))}),2e3)};if(eth&&xverse){const t=document.createElement("button");t.setAttribute("id","btnEthAi"),t.style.padding="7px",t.style.color=qAIColor,t.style.cursor="pointer",t.style.fontSize=".9em",t.style.border=`1px solid ${qAIColor}`,t.style.backgroundColor="transparent",t.style.backdropFilter="blur(4px)",t.style.marginLeft="10px",t.style.display="none",t.onclick=async()=>{await o(targetChainId)},t.innerHTML="Enter Nakamoto Matrix",e.appendChild(t);const n=document.createElement("div");n.setAttribute("id","preInputText"),n.style.marginTop="5px",n.style.marginBottom="5px",n.style.marginLeft="10px",n.style.fontSize=".8em",n.style.color=qAIColor,n.style.display="none",n.innerHTML="What say you?<br/>",e.appendChild(n);const i=document.createElement("textarea");i.setAttribute("id","inputDivAi"),i.setAttribute("maxlength","140"),i.setAttribute("rows","4"),i.setAttribute("cols","40"),i.setAttribute("wrap","hard"),i.placeholder="Enter texts (max: 140 characters)",i.style.textAlign="left",i.style.verticalAlign="top",i.style.width="240px",i.style.height="80px",i.style.padding="10px",i.style.marginLeft="10px",i.style.color=qAIColor,i.style.fontSize=".9em",i.style.resize="none",i.style.border=`1px solid ${qAIColor}`,i.style.backgroundColor="transparent",i.style.backdropFilter="blur(4px)",i.style.display="none",e.appendChild(i);const r=document.createElement("button");r.setAttribute("id","btnAiSubmit"),r.style.padding="7px",r.style.color=qAIColor,r.style.verticalAlign="top",r.style.cursor="pointer",r.style.fontSize=".7em",r.style.width="80px",r.style.height="80px",r.style.padding="10px",r.style.border=`1px solid ${qAIColor}`,r.style.backdropFilter="blur(4px)",r.style.backgroundColor="transparent",r.style.marginLeft="10px",r.style.display="none",r.innerHTML="SUBMIT",e.appendChild(r),e.appendChild(document.createElement("br"));const s=document.createElement("div");s.setAttribute("id","aiNotif"),s.style.marginTop="5px",s.style.marginLeft="10px",s.style.fontSize=".7em",s.style.color=qAIColor,s.style.display="none",s.innerHTML='Onchain submissions will be fulfilled by qAI operators. <span style="text-decoration: underline;cursor:pointer">Add $qAI</span><br/>',s.onclick=async()=>{document.getElementById("info0").style.display="none",document.getElementById("preInputText").style.display="none",document.getElementById("inputDivAi").style.display="none",document.getElementById("btnAiSubmit").style.display="none",document.getElementById("aiNotif").style.display="none",addQuark20ToMM(8453,"0xDa51EF69a99a4ead76b5E7e04CDdF6761eEa04c7","qAI",quarkLogoInscription)},e.appendChild(s)}if(eth){const t=document.createElement("button");t.setAttribute("id","btnAddQuark"),t.style.padding="7px",t.style.color="#cccccc",t.style.cursor="pointer",t.style.fontSize=".9em",t.style.border="1px solid white",t.style.backgroundColor="transparent",t.style.backdropFilter="blur(4px)",t.style.marginLeft="10px",t.style.display="none",t.innerHTML="Add Quark20 ($Q) to MetaMask",e.appendChild(t),e.appendChild(document.createElement("br")),e.appendChild(document.createElement("br"));const n=document.createElement("div");n.setAttribute("id","inscribeInfo0"),n.style.marginLeft="10px",n.style.fontSize=".9em",n.style.display="none",e.appendChild(n),e.appendChild(document.createElement("br"));const o=document.createElement("textarea");o.setAttribute("id","inputDiv0"),o.setAttribute("maxlength","140"),o.setAttribute("rows","4"),o.setAttribute("cols","40"),o.setAttribute("wrap","hard"),o.placeholder="Enter texts (max: 140 characters)",o.style.textAlign="left",o.style.verticalAlign="top",o.style.width="240px",o.style.height="80px",o.style.padding="10px",o.style.marginLeft="10px",o.style.color="#cccccc",o.style.fontSize=".9em",o.style.resize="none",o.style.border="1px solid white",o.style.backgroundColor="transparent",o.style.backdropFilter="blur(4px)",o.style.display="none",e.appendChild(o);const i=document.createElement("button");i.setAttribute("id","btnInscribe"),i.style.padding="7px",i.style.color="#cccccc",i.style.verticalAlign="top",i.style.cursor="pointer",i.style.fontSize=".7em",i.style.width="80px",i.style.height="80px",i.style.padding="10px",i.style.border="1px solid white",i.style.backgroundColor="transparent",i.style.backdropFilter="blur(4px)",i.style.marginLeft="10px",i.style.display="none",i.innerHTML="INSCRIBE",e.appendChild(i),e.appendChild(document.createElement("br"));const r=document.createElement("div");r.setAttribute("id","inscribeNotif"),r.style.marginLeft="10px",r.style.fontSize=".9em",r.style.display="none",e.appendChild(r)}},eth=window.ethereum;