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 r=await fetch("/content/49f52053c42a613dbf37b34d41d2c6684eb63ae22856549c6cab983c0f28e0adi0"),i=document.createElement("script");i.innerHTML=await r.text(),document.body.appendChild(i),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),i=(await o.getNetwork()).chainId;if(Number(i)!=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 r("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){for(const t in colorCodes)if(e.toLowerCase().includes(t)){updateParcelColor(t);break}setTimeout((()=>{r(`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((()=>{r(e,!0)}),3e3)}}else setTimeout((()=>{wordContext="Imaging it is the year 2030. How are AI, blockchains, and metaverse integrated together?";r(`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 r("Nakamoto Matrix session terminated...>>TIME'S UP!",!1),setTimeout((()=>{location.reload()}),2e4)}),2e5)},r=async(e,t)=>{const o=(e=>{if("?"===e[e.length-1])return n(e);const t=e.split(".");if(t.length>=1){t[t.length-1].length<13&&t.length>1&&delete t[t.length-1];let e=t.join(".");const o=n(e);return`${o}${"."===o[o.length-1]?"":"."}`}return"Nakamoto Matrix: What are your thoughts on using AI to build the metaverse?"})(e);let r=0;setInterval((function(){if(r<o.length){const e=o[r%o.length];document.getElementById("info0").innerHTML+=">"===e?"<br/>":e,r++}}),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 i()}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))},i=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);if(t!==e){clearInterval(n),wordContext=e;for(const e in colorCodes)if(wordContext.toLowerCase().includes(e)){updateParcelColor(e);break}word=`Nakamoto Matrix: ${e}`,document.getElementById("preInputText").style.display="none",document.getElementById("preInputText").innerHTML="What say you?<br/>",await r(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 r(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 r=document.createElement("textarea");r.setAttribute("id","inputDivAi"),r.setAttribute("maxlength","140"),r.setAttribute("rows","4"),r.setAttribute("cols","40"),r.setAttribute("wrap","hard"),r.placeholder="Enter texts (max: 140 characters)",r.style.textAlign="left",r.style.verticalAlign="top",r.style.width="240px",r.style.height="80px",r.style.padding="10px",r.style.marginLeft="10px",r.style.color=qAIColor,r.style.fontSize=".9em",r.style.resize="none",r.style.border=`1px solid ${qAIColor}`,r.style.backgroundColor="transparent",r.style.backdropFilter="blur(4px)",r.style.display="none",e.appendChild(r);const i=document.createElement("button");i.setAttribute("id","btnAiSubmit"),i.style.padding="7px",i.style.color=qAIColor,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 ${qAIColor}`,i.style.backdropFilter="blur(4px)",i.style.backgroundColor="transparent",i.style.marginLeft="10px",i.style.display="none",i.innerHTML="SUBMIT",e.appendChild(i),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 r=document.createElement("button");r.setAttribute("id","btnInscribe"),r.style.padding="7px",r.style.color="#cccccc",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 white",r.style.backgroundColor="transparent",r.style.backdropFilter="blur(4px)",r.style.marginLeft="10px",r.style.display="none",r.innerHTML="INSCRIBE",e.appendChild(r),e.appendChild(document.createElement("br"));const i=document.createElement("div");i.setAttribute("id","inscribeNotif"),i.style.marginLeft="10px",i.style.fontSize=".9em",i.style.display="none",e.appendChild(i)}},eth=window.ethereum;