@ic-pay/icpay-widget 1.2.21 → 1.2.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import{Actor as Qt,HttpAgent as Yt}from"@dfinity/agent";import{Actor as At}from"@dfinity/agent";var T=class{constructor(t){this.id="plug";this.label="Plug";this.icon=null;this._config=t.config||{},this._adapterCfg=t.adapter}async isInstalled(){return!!(typeof window<"u"&&window.ic&&window.ic.plug)}async isConnected(){try{return!!await window.ic?.plug?.isConnected?.()}catch{return!1}}async connect(){if(!await this.isInstalled())throw new Error("Plug is not installed");await this.isConnected()||await window.ic.plug.requestConnect?.({host:this._config.icHost});let e=await window.ic.plug.getPrincipal?.(),r=typeof e?.toText=="function"?e.toText():e?.toString?.()||null;return{owner:r,principal:r,connected:!0}}async disconnect(){try{await window.ic?.plug?.disconnect?.()}catch{}}async getPrincipal(){try{let t=await window.ic.plug.getPrincipal?.();return typeof t?.toText=="function"?t.toText():t?.toString?.()||null}catch{return null}}getActor(t){let e=window.ic?.plug?.agent;if(!e)throw new Error("Plug agent not initialized");return At.createActor(t.idl,{agent:e,canisterId:t.canisterId})}};import{Actor as wt,HttpAgent as Nt}from"@dfinity/agent";import{AuthClient as It}from"@dfinity/auth-client";var L=class{constructor(t){this.id="ii";this.label="Internet Identity";this.icon=null;this._client=null;this._agent=null;this._config=t.config||{}}async client(){return this._client?this._client:(this._client=await It.create(),this._client)}async isInstalled(){return!0}async isConnected(){return await(await this.client()).isAuthenticated()}async connect(){let t=await this.client();await t.isAuthenticated()||await t.login({identityProvider:this._config.derivationOrigin,maxTimeToLive:BigInt(10080*60*1e9)});let r=t.getIdentity();this._agent=new Nt({host:this._config.icHost,identity:r});let i=r.getPrincipal().toText();return{owner:i,principal:i,connected:!0}}async disconnect(){try{await(await this.client()).logout()}catch{}this._agent=null}async getPrincipal(){try{return(await this.client()).getIdentity().getPrincipal().toText()}catch{return null}}getActor(t){if(!this._agent)throw new Error("II agent not initialized");return wt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as pt,HttpAgent as jt}from"@dfinity/agent";import{PostMessageTransport as Dt}from"@slide-computer/signer-web";import{Signer as ht}from"@slide-computer/signer";import{SignerAgent as ft}from"@slide-computer/signer-agent";var C=class{constructor(t){this.id="nfid";this.label="NFID";this.icon=null;this._agent=null;this._principal=null;this._config=t.config||{}}async isInstalled(){return!0}async isConnected(){return!!this._agent}async connect(){let e=(this._config?.adapters||{}).nfid?.config||{},r=e.signerUrl,i=e.hostUrl||this._config.icHost;if(!r)throw new Error("NFID signerUrl not configured");if(!i)throw new Error("IC host not configured");let a=new jt({host:i}),n=new Dt({url:r,...e.transport||{}}),c=new ht({transport:n});await c.openChannel();let w=(await c.accounts())?.[0]?.owner,N=await ft.create({signer:c,agent:a,account:w}),I=null;try{I=(await N.getPrincipal())?.toText?.()||null}catch{}return this._agent=N,this._principal=I,{owner:I,principal:I,connected:!0}}async disconnect(){this._agent=null,this._principal=null}async getPrincipal(){return this._principal}getActor(t){if(!this._agent)throw new Error("NFID agent not initialized");return pt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as mt,HttpAgent as zt}from"@dfinity/agent";import{PostMessageTransport as Tt}from"@slide-computer/signer-web";import{Signer as Lt}from"@slide-computer/signer";import{SignerAgent as Ct}from"@slide-computer/signer-agent";var v=class{constructor(t){this.id="oisy";this.label="Oisy";this.icon=null;this._agent=null;this._principal=null;this._config=t.config||{}}async isInstalled(){return!0}async isConnected(){return!!this._agent}async connect(){let e=(this._config?.adapters||{}).oisy?.config||{},r=e.signerUrl,i=e.hostUrl||this._config.icHost,a=e.transport||{};if(!r)throw new Error("Oisy signerUrl not configured");if(!i)throw new Error("IC host not configured");let n=a.windowOpenerFeatures??"",c=new zt({host:i}),y=new Tt({url:r,windowOpenerFeatures:n,detectNonClickEstablishment:!1,...a}),w=new Lt({transport:y});await w.openChannel();let I=(await w.accounts())?.[0]?.owner,l=await Ct.create({signer:w,agent:c,account:I}),s=null;try{s=(await l.getPrincipal())?.toText?.()||null}catch{}return this._agent=l,this._principal=s,{owner:s,principal:s,connected:!0}}async disconnect(){this._agent=null,this._principal=null}async getPrincipal(){return this._principal}getActor(t){if(!this._agent)throw new Error("Oisy agent not initialized");return mt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};var b=class{constructor(t){this.id="metamask";this.label="MetaMask";this.config=t.config||{}}isMobileBrowser(){try{let t=typeof navigator<"u"?navigator:window?.navigator,e=String(t?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(e)}catch{return!1}}getProvider(){try{let e=(typeof window<"u"?window:{}).ethereum;if(e&&Array.isArray(e.providers)){let r=e.providers.find(i=>i&&i.isMetaMask);if(r)return r}if(e&&e.isMetaMask||this.isMobileBrowser()&&e&&typeof e.request=="function")return e}catch{}return null}getEvmProvider(){return this.getProvider()}async isInstalled(){try{return!!this.getProvider()}catch{return!1}}async isConnected(){try{let t=this.getProvider();if(!t)return!1;let r=await(typeof t.request=="function"?t.request({method:"eth_accounts"}):Promise.resolve([]));return Array.isArray(r)&&r.length>0}catch{return!1}}async connect(){let t=this.getProvider();if(!t){if(typeof window<"u"&&this.isMobileBrowser()){try{let y=`https://metamask.app.link/dapp/${String(window.location?.href||"").replace(/^https?:\/\//i,"")}`;try{try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"metamask",url:y}}))}catch{}window.location.href=y}catch{try{window.open(y,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening MetaMask\u2026 If nothing happens, install MetaMask and try again.")}throw new Error("MetaMask not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=this.getProvider()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by MetaMask");return{owner:a,principal:a,connected:!0}}async disconnect(){try{let t=this.getProvider()||(typeof window<"u"?window.ethereum:null);if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=this.getProvider()||(typeof window<"u"?window.ethereum:null);if(!t)return null;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};var R="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzNTguOCAxNzkuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzU4LjggMTc5Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0MntmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMyOUFCRTI7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyNC43ODUzIiB5MT0iMjU3Ljc1MzYiIHgyPSIzNDguMDY2MyIgeTI9IjEzMy40NTgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMjcyKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjE1QTI0Ii8+Cgk8c3RvcCAgb2Zmc2V0PSIwLjY4NDEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3MS42LDBjLTIwLDAtNDEuOSwxMC45LTY1LDMyLjRjLTEwLjksMTAuMS0yMC41LDIxLjEtMjcuNSwyOS44YzAsMCwxMS4yLDEyLjksMjMuNSwyNi44CgljNi43LTguNCwxNi4yLTE5LjgsMjcuMy0zMC4xYzIwLjUtMTkuMiwzMy45LTIzLjEsNDEuNi0yMy4xYzI4LjgsMCw1Mi4yLDI0LjIsNTIuMiw1NC4xYzAsMjkuNi0yMy40LDUzLjgtNTIuMiw1NC4xCgljLTEuNCwwLTMtMC4yLTUtMC42YzguNCwzLjksMTcuNSw2LjcsMjYsNi43YzUyLjgsMCw2My4yLTM2LjUsNjMuOC0zOS4xYzEuNS02LjcsMi40LTEzLjcsMi40LTIwLjlDMzU4LjYsNDAuNCwzMTkuNiwwLDI3MS42LDB6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMzLjk0NjEiIHkxPSIxMDYuNDI2MiIgeDI9IjEwLjY2NTMiIHkyPSIyMzAuNzIxNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3MikiPgoJPHN0b3AgIG9mZnNldD0iMC4yMSIgc3R5bGU9InN0b3AtY29sb3I6I0VEMUU3OSIvPgoJPHN0b3AgIG9mZnNldD0iMC44OTI5IiBzdHlsZT0ic3RvcC1jb2xvcjojNTIyNzg1Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04Ny4xLDE3OS44YzIwLDAsNDEuOS0xMC45LDY1LTMyLjRjMTAuOS0xMC4xLDIwLjUtMjEuMSwyNy41LTI5LjhjMCwwLTExLjItMTIuOS0yMy41LTI2LjgKCWMtNi43LDguNC0xNi4yLDE5LjgtMjcuMywzMC4xYy0yMC41LDE5LTM0LDIzLjEtNDEuNiwyMy4xYy0yOC44LDAtNTIuMi0yNC4yLTUyLjItNTQuMWMwLTI5LjYsMjMuNC01My44LDUyLjItNTQuMQoJYzEuNCwwLDMsMC4yLDUsMC42Yy04LjQtMy45LTE3LjUtNi43LTI2LTYuN0MxMy40LDI5LjYsMyw2Ni4xLDIuNCw2OC44QzAuOSw3NS41LDAsODIuNSwwLDg5LjdDMCwxMzkuNCwzOSwxNzkuOCw4Ny4xLDE3OS44eiIvPgo8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTI3LjMsNTkuN2MtNS44LTUuNi0zNC0yOC41LTYxLTI5LjNDMTguMSwyOS4yLDQsNjQuMiwyLjcsNjguN0MxMiwyOS41LDQ2LjQsMC4yLDg3LjIsMAoJYzMzLjMsMCw2NywzMi43LDkxLjksNjIuMmMwLDAsMC4xLTAuMSwwLjEtMC4xYzAsMCwxMS4yLDEyLjksMjMuNSwyNi44YzAsMCwxNCwxNi41LDI4LjgsMzFjNS44LDUuNiwzMy45LDI4LjIsNjAuOSwyOQoJYzQ5LjUsMS40LDYzLjItMzUuNiw2My45LTM4LjRjLTkuMSwzOS41LTQzLjYsNjguOS04NC42LDY5LjFjLTMzLjMsMC02Ny0zMi43LTkyLTYyLjJjMCwwLjEtMC4xLDAuMS0wLjEsMC4yCgljMCwwLTExLjItMTIuOS0yMy41LTI2LjhDMTU2LjIsOTAuOCwxNDIuMiw3NC4yLDEyNy4zLDU5Ljd6IE0yLjcsNjkuMWMwLTAuMSwwLTAuMiwwLjEtMC4zQzIuNyw2OC45LDIuNyw2OSwyLjcsNjkuMXoiLz4KPC9zdmc+Cg==";var B="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45MDIyIDMuMTU2MjlDMTYuNzcxNCAzLjA2MzYzIDE3LjQwMDggMi4yODM5OCAxNy4zMDgxIDEuNDE0ODlDMTcuMjE1NSAwLjU0NTgwOSAxNi40MzU4IC0wLjA4MzYwOTkgMTUuNTY2NyAwLjAwOTA0OTQ2TDEyLjMzNDUgMC4zNTM2MzNDMTAuNjc4NiAwLjUzMDE2NSA5LjM1MDQ2IDAuNjcxNzUxIDguMjcxOCAwLjg2NzMwNkM3LjE2MDYgMS4wNjg3NiA2LjIwODI3IDEuMzQ0MTQgNS4zMjM3OCAxLjgzOTgxQzMuODg3NzMgMi42NDQ1NyAyLjY5NzE5IDMuODIzODUgMS44Nzk0NCA1LjI1MTk2QzEuMzc1NjggNi4xMzE3MyAxLjA5MjA0IDcuMDgxMTIgMC44ODExODUgOC4xODk2MUMwLjY3NjUzNSA5LjI2NTQ5IDAuNTIzODkzIDEwLjU5MSAwLjMzMzYyMSAxMi4yNDMyTDAuMzI1NDI0IDEyLjMxNDRMMC4wMDgwNjAwNiAxNS40NzA0Qy0wLjA3OTM4NzUgMTYuMzQgMC41NTQ3MjYgMTcuMTE1OSAxLjQyNDM5IDE3LjIwMzRDMi4yOTQwNiAxNy4yOTA4IDMuMDY5OTUgMTYuNjU2NyAzLjE1NzQgMTUuNzg3MUwzLjQ3MjQ4IDEyLjY1MzhDMy42NzA1NCAxMC45MzQgMy44MTA2NiA5LjcyNzMgMy45OTA2NiA4Ljc4MTAzQzQuMTY3MzEgNy44NTIzNSA0LjM2NDQ5IDcuMjgxODEgNC42MjYyNiA2LjgyNDY3QzUuMTU5MDEgNS44OTQyNyA1LjkzNDg3IDUuMTI1NTkgNi44NzEyMSA0LjYwMDg2QzcuMzMxNTEgNC4zNDI5MSA3LjkwNDg2IDQuMTUwNTEgOC44MzY0NiAzLjk4MTYxQzkuNzg3NjYgMy44MDkxNiAxMS4wMDA1IDMuNjc4ODggMTIuNzI5OSAzLjQ5NDVMMTUuOTAyMiAzLjE1NjI5Wk00Ni42OTE5IDEuNDE0ODlDNDYuNTk5MiAyLjI4Mzk4IDQ3LjIyODYgMy4wNjM2MyA0OC4wOTc4IDMuMTU2MjlMNTEuMjcwMSAzLjQ5NDVDNTIuOTk5NSAzLjY3ODg4IDU0LjIxMjMgMy44MDkxNiA1NS4xNjM1IDMuOTgxNjFDNTYuMDk1MSA0LjE1MDUxIDU2LjY2ODUgNC4zNDI5MSA1Ny4xMjg4IDQuNjAwODZDNTguMDY1MSA1LjEyNTU5IDU4Ljg0MSA1Ljg5NDI3IDU5LjM3MzcgNi44MjQ2N0M1OS42MzU1IDcuMjgxODEgNTkuODMyNyA3Ljg1MjM1IDYwLjAwOTMgOC43ODEwM0M2MC4xODkzIDkuNzI3MyA2MC4zMjk1IDEwLjkzNCA2MC41Mjc1IDEyLjY1MzhMNjAuODQyNiAxNS43ODcxQzYwLjkzIDE2LjY1NjcgNjEuNzA1OSAxNy4yOTA4IDYyLjU3NTYgMTcuMjAzNEM2My40NDUzIDE3LjExNTkgNjQuMDc5NCAxNi4zNCA2My45OTE5IDE1LjQ3MDRMNjMuNjc0NiAxMi4zMTQ0TDYzLjY2NjQgMTIuMjQzMkM2My40NzYxIDEwLjU5MSA2My4zMjM1IDkuMjY1NDkgNjMuMTE4OCA4LjE4OTYxQzYyLjkwOCA3LjA4MTEyIDYyLjYyNDMgNi4xMzE3MyA2Mi4xMjA2IDUuMjUxOTZDNjEuMzAyOCAzLjgyMzg1IDYwLjExMjMgMi42NDQ1NyA1OC42NzYyIDEuODM5ODFDNTcuNzkxNyAxLjM0NDE0IDU2LjgzOTQgMS4wNjg3NiA1NS43MjgyIDAuODY3MzA2QzU0LjY0OTUgMC42NzE3NTEgNTMuMzIxNCAwLjUzMDE2NSA1MS42NjU1IDAuMzUzNjMzTDQ4LjQzMzMgMC4wMDkwNDk0NkM0Ny41NjQyIC0wLjA4MzYwOTkgNDYuNzg0NSAwLjU0NTgwOSA0Ni42OTE5IDEuNDE0ODlaTTQ2LjY5MTkgNjIuNTg1MUM0Ni41OTkyIDYxLjcxNiA0Ny4yMjg2IDYwLjkzNjQgNDguMDk3OCA2MC44NDM3TDUxLjI3MDEgNjAuNTA1NUM1Mi45OTk1IDYwLjMyMTEgNTQuMjEyMyA2MC4xOTA4IDU1LjE2MzUgNjAuMDE4NEM1Ni4wOTUxIDU5Ljg0OTUgNTYuNjY4NSA1OS42NTcxIDU3LjEyODggNTkuMzk5MUM1OC4wNjUxIDU4Ljg3NDQgNTguODQxIDU4LjEwNTcgNTkuMzczNyA1Ny4xNzUzQzU5LjYzNTUgNTYuNzE4MiA1OS44MzI3IDU2LjE0NzYgNjAuMDA5MyA1NS4yMTlDNjAuMTg5MyA1NC4yNzI3IDYwLjMyOTUgNTMuMDY2IDYwLjUyNzUgNTEuMzQ2Mkw2MC44NDI2IDQ4LjIxMjlDNjAuOTMgNDcuMzQzMyA2MS43MDU5IDQ2LjcwOTIgNjIuNTc1NiA0Ni43OTY2QzYzLjQ0NTMgNDYuODg0MSA2NC4wNzk0IDQ3LjY2IDYzLjk5MTkgNDguNTI5Nkw2My42NzQ2IDUxLjY4NTZMNjMuNjY2NCA1MS43NTY4QzYzLjQ3NjEgNTMuNDA5IDYzLjMyMzUgNTQuNzM0NSA2My4xMTg4IDU1LjgxMDRDNjIuOTA4IDU2LjkxODkgNjIuNjI0MyA1Ny44NjgzIDYyLjEyMDYgNTguNzQ4QzYxLjMwMjggNjAuMTc2MiA2MC4xMTIzIDYxLjM1NTQgNTguNjc2MiA2Mi4xNjAyQzU3Ljc5MTcgNjIuNjU1OSA1Ni44Mzk0IDYyLjkzMTIgNTUuNzI4MiA2My4xMzI3QzU0LjY0OTYgNjMuMzI4MiA1My4zMjE2IDYzLjQ2OTggNTEuNjY1OCA2My42NDYzTDUxLjY2NTYgNjMuNjQ2M0w1MS42NjU1IDYzLjY0NjRMNTEuNjY1NSA2My42NDY0TDQ4LjQzMzMgNjMuOTkxQzQ3LjU2NDIgNjQuMDgzNiA0Ni43ODQ1IDYzLjQ1NDIgNDYuNjkxOSA2Mi41ODUxWk0xNy4zMDgxIDYyLjU4NTZDMTcuNDAwOCA2MS43MTY1IDE2Ljc3MTQgNjAuOTM2OSAxNS45MDIyIDYwLjg0NDJMMTIuNzI5OSA2MC41MDZDMTEuMDAwNSA2MC4zMjE2IDkuNzg3NjYgNjAuMTkxMyA4LjgzNjQ2IDYwLjAxODlDNy45MDQ4NiA1OS44NSA3LjMzMTUxIDU5LjY1NzYgNi44NzEyMSA1OS4zOTk2QzUuOTM0ODcgNTguODc0OSA1LjE1OTAxIDU4LjEwNjIgNC42MjYyNiA1Ny4xNzU4QzQuMzY0NDkgNTYuNzE4NyA0LjE2NzMxIDU2LjE0ODEgMy45OTA2NiA1NS4yMTk1QzMuODEwNjYgNTQuMjczMiAzLjY3MDU0IDUzLjA2NjUgMy40NzI0OCA1MS4zNDY3TDMuMTU3NCA0OC4yMTM0QzMuMDY5OTUgNDcuMzQzOCAyLjI5NDA2IDQ2LjcwOTcgMS40MjQzOSA0Ni43OTcxQzAuNTU0NzI2IDQ2Ljg4NDYgLTAuMDc5Mzg3NSA0Ny42NjA0IDAuMDA4MDYwMDYgNDguNTMwMUwwLjMyNTQyNCA1MS42ODYxTDAuMzMzNjIxIDUxLjc1NzNDMC41MjM4OTMgNTMuNDA5NSAwLjY3NjUzNSA1NC43MzUgMC44ODExODUgNTUuODEwOUMxLjA5MjA0IDU2LjkxOTQgMS4zNzU2OCA1Ny44Njg4IDEuODc5NDQgNTguNzQ4NUMyLjY5NzE5IDYwLjE3NjYgMy44ODc3MyA2MS4zNTU5IDUuMzIzNzggNjIuMTYwN0M2LjIwODI3IDYyLjY1NjMgNy4xNjA2IDYyLjkzMTcgOC4yNzE4IDYzLjEzMzJDOS4zNTA0NCA2My4zMjg3IDEwLjY3ODYgNjMuNDcwMyAxMi4zMzQ1IDYzLjY0NjhMMTIuMzM0NSA2My42NDY5TDE1LjU2NjcgNjMuOTkxNEMxNi40MzU4IDY0LjA4NDEgMTcuMjE1NSA2My40NTQ3IDE3LjMwODEgNjIuNTg1NlpNMTYuNDUxMiAxOS43OTU0QzE1LjY5NTUgMTkuNzk1NCAxNS4wODI4IDIwLjQwODEgMTUuMDgyOCAyMS4xNjM4VjQzLjI5NzJDMTUuMDgyOCA0NC4wNTMgMTUuNjk1NSA0NC42NjU2IDE2LjQ1MTIgNDQuNjY1NkgyMC43NDk0QzIxLjUwNTIgNDQuNjY1NiAyMi4xMTc4IDQ0LjA1MyAyMi4xMTc4IDQzLjI5NzJWMjEuMTYzOEMyMi4xMTc4IDIwLjQwODEgMjEuNTA1MiAxOS43OTU0IDIwLjc0OTQgMTkuNzk1NEgxNi40NTEyWk0yOC4xMDgyIDE5Ljc5NTRDMjcuMzUyNSAxOS43OTU0IDI2LjczOTggMjAuNDA4MSAyNi43Mzk4IDIxLjE2MzhWNDMuMjk3MkMyNi43Mzk4IDQ0LjA1MyAyNy4zNTI1IDQ0LjY2NTYgMjguMTA4MiA0NC42NjU2SDM4LjUwMDRDNDEuMjI0NCA0NC42NjU2IDQzLjY0MDUgNDQuMTU2NCA0NS43NDg3IDQzLjEzNzlDNDcuODU2OCA0Mi4xMTk0IDQ5LjQ5MTIgNDAuNjc0NiA1MC42NTE5IDM4LjgwMzRDNTEuODEyNSAzNi45MzIyIDUyLjM5MjkgMzQuNzQxMiA1Mi4zOTI5IDMyLjIzMDVDNTIuMzkyOSAyOS43MTk4IDUxLjgxMjUgMjcuNTI4OSA1MC42NTE5IDI1LjY1NzdDNDkuNDkxMiAyMy43ODY1IDQ3Ljg1NjggMjIuMzQxNyA0NS43NDg3IDIxLjMyMzJDNDMuNjQwNSAyMC4zMDQ3IDQxLjIyNDQgMTkuNzk1NCAzOC41MDA0IDE5Ljc5NTRIMjguMTA4MlpNNDMuMzMyNiAzNy4yNDAxQzQyLjA1MzUgMzguNDQ4MSA0MC4zNDggMzkuMDUyMSAzOC4yMTYyIDM5LjA1MjFIMzQuMTg1NEMzMy45NTg3IDM5LjA1MjEgMzMuNzc0OSAzOC44NjgzIDMzLjc3NDkgMzguNjQxNlYyNS44MTk1QzMzLjc3NDkgMjUuNTkyOCAzMy45NTg3IDI1LjQwOSAzNC4xODU0IDI1LjQwOUgzOC4yMTYyQzQwLjM0OCAyNS40MDkgNDIuMDUzNSAyNi4wMTMgNDMuMzMyNiAyNy4yMjFDNDQuNjM1NCAyOC40Mjg5IDQ1LjI4NjggMzAuMDk4OCA0NS4yODY4IDMyLjIzMDVDNDUuMjg2OCAzNC4zNjIzIDQ0LjYzNTQgMzYuMDMyMSA0My4zMzI2IDM3LjI0MDFaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfODAzODBfNTQpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfODAzODBfNTQiIHgxPSIwLjc2NTgxMiIgeTE9Ii0yLjcwNDk2ZS0wNyIgeDI9IjYzLjU0MTciIHkyPSI2NC4yNzkzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMwMEE2OTUiLz4KPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiMwMTg0NzciLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2RjY0Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==";var V="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iMjIiIGZpbGw9IiMwMDY2RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC40MTIgMzMuNDE5M0wyMy44ODI3IDM1Ljc2MDNDMjMuODAzNyAzNi4xMDk5IDIzLjQ2OTMgMzYuMzQwNSAyMy4xMTUyIDM2LjI4NThDMjIuMzA4IDM2LjE2MSAyMS40OSAzNi4wMTc3IDIwLjY2MzcgMzUuODU5NEMyMC4yODQyIDM1Ljc4NjcgMjAuMDQyMyAzNS40MTMzIDIwLjEyNzUgMzUuMDM2NUwyMC42MDY3IDMyLjkxN0MyMC4yNzExIDMyLjg1MTMgMTkuOTMzNCAzMi43ODAyIDE5LjU5NCAzMi43MDQyQzE5LjI4OCAzMi42MzQ0IDE4Ljk4NSAzMi41NjE1IDE4LjY4NTQgMzIuNDg1NUwxOC4yMDY0IDM0LjYwNDRDMTguMTIxMiAzNC45ODEgMTcuNzQyNiAzNS4yMTQgMTcuMzY4OSAzNS4xMTY4QzE2LjU1NDggMzQuOTA1IDE1Ljc1NDcgMzQuNjgzNiAxNC45NzIzIDM0LjQ1MDRDMTQuNjI4NCAzNC4zNDc5IDE0LjQyNTEgMzMuOTk1NSAxNC41MDQzIDMzLjY0NTVMMTUuMDMwOCAzMS4zMTY0QzkuODI2OTUgMjkuMjI5NyA2LjU0MTYxIDI1LjY4MyA3LjkzNjAzIDE5LjYyNjJMOC4yNzE1NiAxOC4xNDIxQzkuNjIwOTQgMTIuMDYyNiAxNC4xMTA5IDEwLjI4MTEgMTkuNzA1NiAxMC42MzkzTDIwLjIzMTggOC4zMTE3N0MyMC4zMTA5IDcuOTYxNzMgMjAuNjQ2IDcuNzMxMDUgMjEuMDAwNiA3Ljc4NjQ1QzIxLjgwNzIgNy45MTI0OSAyMi42MjQ3IDguMDU2ODMgMjMuNDUwNyA4LjIxNTkyQzIzLjgyOTkgOC4yODg5NSAyNC4wNzE0IDguNjYyMTMgMjMuOTg2MyA5LjAzODc1TDIzLjUwNzMgMTEuMTU3NUMyMy44MTA0IDExLjIxNzkgMjQuMTE1MyAxMS4yODI0IDI0LjQyMTUgMTEuMzUxMUMyNC43NjA5IDExLjQyNzggMjUuMDk2NSAxMS41MDgzIDI1LjQyNzcgMTEuNTkyN0wyNS45MDY1IDkuNDc1MUMyNS45OTE3IDkuMDk4MjYgMjYuMzcwNyA4Ljg2NTI4IDI2Ljc0NDUgOC45NjI4OUMyNy41NTg2IDkuMTc1NDQgMjguMzU4NiA5LjM5Nzg4IDI5LjE0MSA5LjYzMjQxQzI5LjQ4NDMgOS43MzUzNCAyOS42ODY5IDEwLjA4NzQgMjkuNjA3OSAxMC40MzdMMjkuMDgwMSAxMi43NzE3QzM0LjIxNjEgMTQuODU4IDM3LjQyNjEgMTguNDAyIDM2LjA2NDMgMjQuNDI1NkwzNS43Mjg4IDI1LjkwOTdDMzQuMzkwOSAzMS45Mzc2IDI5Ljk0OTIgMzMuNzQyMSAyNC40MTIgMzMuNDE5M1pNMzEuOTYyOSAyNC43MDM5TDMyLjE1MTcgMjMuODY4N0MzMy40ODE0IDE4LjM0MzQgMjkuMDYwMSAxNi4yNzk3IDIzLjYwOTQgMTQuOTY3NkMxOC4wOTg4IDEzLjgwMTUgMTMuMjE5NiAxMy43NjI2IDEyLjA0MzIgMTkuMzIyNkwxMS44NTQ0IDIwLjE1NzhDMTAuNTE4OSAyNS43MDg0IDE0Ljk0MDMgMjcuNzcyMSAyMC40MTY1IDI5LjA5QzI1LjkwMTYgMzAuMjUwMyAzMC43ODA3IDMwLjI4OTMgMzEuOTYyOSAyNC43MDM5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";var q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF1GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjYuMTEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTExLTE2VDAxOjA1OjMxKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjM3ZmUzMDEtMjdjNC00ZWJlLTgxZGQtMWJhYjk2NGE5MzllIiB4bXBNTTpEb2N1bWVu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";var H="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyLjcwNzcgMzIuNzUyMkwyNS4xNjg4IDMwLjUxNzRMMTkuNDgzMyAzMy45MDA4TDE1LjUxNjcgMzMuODk5MUw5LjgyNzkzIDMwLjUxNzRMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDQ4OUwyLjI5MjI1IDE2LjQ5OTNMMCA5LjI3MDk0TDIuMjkyMjUgMC4zMTIyNTZMMTQuMDY3NCA3LjMxNTU0SDIwLjkzMjZMMzIuNzA3NyAwLjMxMjI1NkwzNSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0wzNSAyNS4wNDg5TDMyLjcwNzcgMzIuNzUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTIuMjkzOTUgMC4zMTIyNTZMMTQuMDY5MSA3LjMyMDQ3TDEzLjYwMDggMTIuMTMwMUwyLjI5Mzk1IDAuMzEyMjU2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNOS44Mjk1OSAyNS4wNTIyTDE1LjAxMDYgMjguOTgxMUw5LjgyOTU5IDMwLjUxNzVWMjUuMDUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTE0LjU5NjYgMTguNTU2NUwxMy42MDA5IDEyLjEzMzNMNy4yMjY5MiAxNi41MDA5TDcuMjIzNjMgMTYuNDk5M1YxNi41MDI1TDcuMjQzMzUgMjAuOTk4M0w5LjgyODA5IDE4LjU1NjVIOS44Mjk3NEgxNC41OTY2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMzIuNzA3NyAwLjMxMjI1NkwyMC45MzI2IDcuMzIwNDdMMjEuMzk5MyAxMi4xMzAxTDMyLjcwNzcgMC4zMTIyNTZaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIyIDI1LjA1MjJMMTkuOTkxMiAyOC45ODExTDI1LjE3MjIgMzAuNTE3NVYyNS4wNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMjcuNzc2NiAxNi41MDI1SDI3Ljc3ODNIMjcuNzc2NlYxNi40OTkzTDI3Ljc3NSAxNi41MDA5TDIxLjQwMSAxMi4xMzMzTDIwLjQwNTMgMTguNTU2NUgyNS4xNzIyTDI3Ljc1ODYgMjAuOTk4M0wyNy43NzY2IDE2LjUwMjVaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik05LjgyNzkzIDMwLjUxNzVMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDUyMkg5LjgyNzkzVjMwLjUxNzVaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0xNC41OTQ3IDE4LjU1NDlMMTYuMDM0MSAyNy44NDA2TDE0LjAzOTMgMjIuNjc3N0w3LjIzOTc1IDIwLjk5ODRMOS44MjYxMyAxOC41NTQ5SDE0LjU5M0gxNC41OTQ3WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjUuMTcyMSAzMC41MTc1TDMyLjcwNzggMzIuNzUyMkwzNS4wMDAxIDI1LjA1MjJIMjUuMTcyMVYzMC41MTc1WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjAuNDA1MyAxOC41NTQ5TDE4Ljk2NTggMjcuODQwNkwyMC45NjA3IDIyLjY3NzdMMjcuNzYwMiAyMC45OTg0TDI1LjE3MjIgMTguNTU0OUgyMC40MDUzWiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMCAyNS4wNDg4TDIuMjkyMjUgMTYuNDk5M0g3LjIyMTgzTDcuMjM5OTEgMjAuOTk2N0wxNC4wMzk0IDIyLjY3NkwxNi4wMzQzIDI3LjgzODlMMTUuMDA4OSAyOC45NzZMOS44Mjc5MyAyNS4wNDcySDBWMjUuMDQ4OFoiIGZpbGw9IiNGRjhENUQiLz4KPHBhdGggZD0iTTM1LjAwMDEgMjUuMDQ4OEwzMi43MDc4IDE2LjQ5OTNIMjcuNzc4M0wyNy43NjAyIDIwLjk5NjdMMjAuOTYwNyAyMi42NzZMMTguOTY1OCAyNy44Mzg5TDE5Ljk5MTIgMjguOTc2TDI1LjE3MjIgMjUuMDQ3MkgzNS4wMDAxVjI1LjA0ODhaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yMC45MzI1IDcuMzE1NDNIMTcuNDk5OUgxNC4wNjczTDEzLjYwMDYgMTIuMTI1MUwxNi4wMzQyIDI3LjgzNEgxOC45NjU2TDIxLjQwMDggMTIuMTI1MUwyMC45MzI1IDcuMzE1NDNaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yLjI5MjI1IDAuMzEyMjU2TDAgOS4yNzA5NEwyLjI5MjI1IDE2LjQ5OTNINy4yMjE4M0wxMy41OTkxIDEyLjEzMDFMMi4yOTIyNSAwLjMxMjI1NloiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTEzLjE3IDIwLjQxOTlIMTAuOTM2OUw5LjcyMDk1IDIxLjYwNjJMMTQuMDQwOSAyMi42NzI3TDEzLjE3IDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTMyLjcwNzcgMC4zMTIyNTZMMzQuOTk5OSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0gyNy43NzgxTDIxLjQwMDkgMTIuMTMwMUwzMi43MDc3IDAuMzEyMjU2WiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMjEuODMzIDIwLjQxOTlIMjQuMDY5NEwyNS4yODUzIDIxLjYwNzlMMjAuOTYwNCAyMi42NzZMMjEuODMzIDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTE5LjQ4MTcgMzAuODM2MkwxOS45OTExIDI4Ljk3OTRMMTguOTY1OCAyNy44NDIzSDE2LjAzMjdMMTUuMDA3MyAyOC45Nzk0TDE1LjUxNjcgMzAuODM2MiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTkuNDgxNiAzMC44MzU5VjMzLjkwMjFIMTUuNTE2NlYzMC44MzU5SDE5LjQ4MTZaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik05LjgyOTU5IDMwLjUxNDJMMTUuNTIgMzMuOTAwOFYzMC44MzQ2TDE1LjAxMDYgMjguOTc3OEw5LjgyOTU5IDMwLjUxNDJaIiBmaWxsPSIjRTdFQkY2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIxIDMwLjUxNDJMMTkuNDgxNyAzMy45MDA4VjMwLjgzNDZMMTkuOTkxMSAyOC45Nzc4TDI1LjE3MjEgMzAuNTE0MloiIGZpbGw9IiNFN0VCRjYiLz4KPC9zdmc+Cg==";var F="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4IDU2YzE1LjQ2NCAwIDI4LTEyLjUzNiAyOC0yOFM0My40NjQgMCAyOCAwIDAgMTIuNTM2IDAgMjhzMTIuNTM2IDI4IDI4IDI4WiIgZmlsbD0iIzFCNTNFNCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNyAyOGMwIDExLjU5OCA5LjQwMiAyMSAyMSAyMXMyMS05LjQwMiAyMS0yMVMzOS41OTggNyAyOCA3IDcgMTYuNDAyIDcgMjhabTE3LjIzNC02Ljc2NmEzIDMgMCAwIDAtMyAzdjcuNTMzYTMgMyAwIDAgMCAzIDNoNy41MzNhMyAzIDAgMCAwIDMtM3YtNy41MzNhMyAzIDAgMCAwLTMtM2gtNy41MzNaIiBmaWxsPSIjZmZmIi8+PC9zdmc+";var vt="data:image/webp;base64,UklGRngEAABXRUJQVlA4IGwEAABwGgCdASqAAIAAPm00lkakIyIhLZJo4IANiWIGepzpzWVWfAfkz7VNZfrX4XyZfpY5Ve135hP6ydPjxWfVv9GH999QD/D/47rUPQA8tr9qvh98odpITg6KC6MdEPqtq8njJn8YQd8fRyCBjuASoE7gh976be39QP7ZH1EaOy2byZB4+6S1n4J1we4tNWPChOPxxBzZfuYsStcWv/tZNqcra7FT/gy1QnCQAkdw+gUNhMn35RFANgSXPFVHZFoSr9YdNxlhwS/DtBxpj4Yf0Qnyn1ZNu6NIDryzzumAAP71vcpK//N3uTN6/gf/cz+Z/IGl2OP82F2AtGYx70dIV3TDkNq9sgAhCr9IZ0HUhT+7KUeLtkqR+dPCxztN0qMTy/gT7xoQBHTf3pua3S29wTkDmy3Fsy7Lv8PTVtL4d5DjJ3QgT6S/r/RoLpXt5ckfNBuBZ5cD7q6/rSBKVrfLYRlMs8/PW5KR4PMrlV9BNfv/g3x2mjvrkNijQUMjZBeGWL8cm5JtS7/EOF5P9ze4qe1yV5zVSVFt5e+//WL+UiuNvKd6qedKWsisJogbBMgFYrymDXtX7rwy5qpOIKODEdjYEY7CDAkYcvhN9cLylaFJnB822+x+hXMltuGJXS6vpf+DkoddD4V8niiWXvf82VYQvu2agUc4/+HDH9o+hv59V9FWrvk5fNJfTvIgUkH5vCcCwDwre/O/6ftorAm9en57f1mnje373z/a1W3UpDbn5rBQsFfxl2oiKvtNeyc7bILmYZ0iKT2BTOvUMn7M6ICDBaoJqcgXpIDC5rsq6F4u2TteFi4n6sLLvkP/xXiOM3lY5srmZ5aRj/SRoHWQrdrmc+rvWyTUo7cqAq8S3QsPW3gcF09Cnxop1LydqPo8SIb8zKgJqFj+KuMY/BYxfntOPlxAD7Ehx/4fZ/cJtjDj8ZqAeuK4Ps7U3zMMVMXw9cIZE47iuLzaTpJl3avReDg2QmWLRYq3AOdhgvdD5H1IpkqcQMOWiDXt46xdgLbVT2Ae1AcmlYrb6xUGrmGgk2lIehc/Df+MRJdAHc+BmnyfR8P7gx7IJg6R0let/R14Na6KeMthUP59RT9SSo5n3YPARM1Z9nLfjDfDy16iRq10Y+2eaNT9Q1xbOf5+PULDFrojM5ABxLaZHFIu+UTUDacGy/DG/N1tqlJ7ePfOaI4pDt/QZhAb6PIVCPIJIXWgbQ/e0VK+9d2AS18H+V/KcyKz5VciEYdk+H1uB3uzeGMdIhKpR5J2JV+e1urFlNpACGuluMWUwzj6n2L72/fz5uXqrfjel5EhkCXHn77cHXY6Kfl9v28YvKSj5f3vzY+wbv8YHop9bGvu/rhBK18Ooq5RW2Kb7s3/xi+57dh2WcBpctxH2kG+9RoszJAlD07LaWub1vw6EYYsSHALEv0cUo8x53lVOWtxIr+fwYX5Jtnv8LYqeN7cAlkl/gWNhn5kus3rg0Wm7rKPongcsUaxaHrkLbdxjqEA9mX4C/AA",J=vt;var X="data:image/webp;base64,UklGRmAEAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSD0BAAABCsi1battvlSCxmaGWrTUgLGQaLkNe8wBlRGrDNM8zGBm32ly/V9ETAC3DRcb/cnL9FS/iK4XwmqPRtxxu/7g4fNkfWrxO64T31my2hxOEbJZTu7Esq8/pyjfaVvbBWp3Z6SUwBZmypui9cTc5Jy/neLt09xA/ClinVoX8KaYPVll1aaoxVph38O651LyeoqbomhU3oF90lCJ5hR5U9MZQRvpkDvF7hY74Lp1H5z0h+A4uQd3//IBjud////7/w/wLwRHuQd3r4fg2PDBSakLjiEXnKucEbSRZrwJrZmgUfkE9k5DMXkNjKJI2vew7qmWrRossVYw4IHyhGtTfUh+iuvNvAakaW7As3hwPDG5eaB2B4USUFtb9vU7jE/altplstwaQRjqalLtOuG4XX/w8HmyPrX4nQsnYahNAQBWUDgg/AIAAHATAJ0BKoAAgAA+bTaWSCQjIiEhC7iADYlpAFVGVG5/99J5/Vd7/Zvx6/Eb47upeLfNQVn40OWGsvf/EZp1SJZ4eeKUwr+TUZu0yuMNAk4PBKF5fmL0eOz2sxlyF1k2PpU79Yw+1dd/VfsguNjNAOpujooZUvLoJkwr++tWg4MOdSMpiVVcFud3oFbBaC+w1q6Y0ih8Jyiu2FT5yd3off/EZxcAAP78rRBq1TvyDPGTtpZl6fMUoKvlLHGrtAC3XuckCfwRJnfG/aY5v+afCIPyjeFKANrccw0/eZYXfyOOymElPpcIFyn/DX0LVVChdzZGcPAMC2XCLLJfqNQLnrwVdrtp///aDQbauP7F7v0uv8UtFmP/5l0k7TnND9heE+aE4DSlRH+y/9Cx9KXkLzIJstm70HeMP4clZ1v4/6vCpX5CsJ70IuNXVGjSxs3OP9lrbuLhlcIIEc2SIGJ3qavevq/mkLkXudZ4SRo+SJpXOQuWqBRjAwTujM6fmPbC5/CYn3kwPLAFn7i92UJ9pgQN+JbG6TPsfKot9pwn+KP/VTLVvyv8aLGVn/+GmRt23RauLb8p5lk6WrB7qM1Ar9LD/ie+T2ZqIpT8ywwuSBWG37bH+0ZZqSmzKe5Q9PgQRVf9RHW7en1+w1M7OwvPKFtskA+SLeKXSb5NMYci6OzrZ/MkSWBl1XYD8Y0YE1CxlutKWGPQV7Paf1P7XQ1xLFTC8eZXqWX2oAV9TghLJj01pQgFxuvmoZGpQ9alHKf21/J4Vx74do7nSRTFJyl/L9VGrasy+tv0vcW9lbWL7j+MCdKyGh2xNTRV1oXhLA2Edu22lDIaFKT5GojhFjKc8QWDJ+bUo3km/xVNDGq0sE7TH4JM+gfqVuDsg/LZUtzFGL6SMLPJk71nRAKmzpRbTYWXl3XlTvOwzAZARyMhUDEcRGotZal/M7BwujgUYCgRQ8H3b+uRhEn6EueNF+Czzl1sG+Pe7IWuEd0aHVwiixyaqR3UWnWqQuAAAAAA";var K="data:image/webp;base64,UklGRtYCAABXRUJQVlA4IMoCAABQEgCdASqAAIAAPm02lUikIyIhIRgMIIANiWkcARAAF+tSv5/99J/RB9XsAGlSc78bIl6kh58aA3sp9hIcACdBu3D9g2hv6/+Cj+HX4bF4aHqZf6VdIWSW9bl353sa70S/qFAc892uoH8pqfPiakYAgEZCSd8aEmbltGbSPYfC4wvqZ9ezQiQYdXY3/Sg5wnSqEY6FToW0wM8QAAD+/PhAW398P+Y/Ufmdv1vCJ/v/ohtwIURd/2rR9z/+gzKn28ut3UaV0u/kc/8pninuF1e9YbAaSDHUeqAZqiAKIZmaGvWme8/luxhnX1Y5rtZk3eBL47mNGYRACwVMKHRl2LA/XhZbW1Q//lM1/6ic4D/8P5eWBMjc9tvr/1w65Tf+2YqPRUfatOAWlwt+JOQ7A40WTXjruFER/7NrZ3tjVzpksA2ujmryseHaiwyiei2mbF0GTnfMG+gl4/pLxq49MTM3bfXPCtft0z77211u4sTilNvJqdSH+3Qc5KfDH6gV4GWTwPSPR/7Krf/1FykCW2n/ReCjVJEy4jLXHwRFmqnHVsOyAdxpYIW4NBe7rv+kr9D8C5N5wiRt4L0AfG/CdI29CS9gLKmX0+uFXlCWpWGI69szzq5FWPBnjpMCeYssg4Hi5PZPL2bcVsOvTE6gCi1ykg26ZH7WE/KN8u9Wagu4TcAvU5nsMn9jc1NGwCZJ1vbQI8CyIWA2LNfuDo697Mov9ngaDmN701InhXXuZFANxq3en+JToh5LyqWp6Wg1UaAbKuM4iPHX41ht3YeOvwpXKTqngULJZvmnw4BeJc387ivRN9/yK//jm2x0r2tfpbafdYlNCsxcgG8lC2z5Vz2a0LuZIotzREDZkWc2Y9BzOaysg2ZacmnelGfW5UbxjADryUb+70mYMBLvUPN/rBiQE2XcSOtSRC91yn75qvUC6XhK/lbDAAAAAAA=";var _="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iMTIiIGZpbGw9IiMxQzdERkMiLz4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iMTIiIGZpbGw9InVybCgjcGFpbnQwX3JhZGlhbF8xXzQ2KSIvPgo8cGF0aCBkPSJNMjYuNDIyNyAzMS40NzMxQzMzLjkxNzEgMjQuMTc1NiA0Ni4wODI5IDI0LjE3NTYgNTMuNTc3MyAzMS40NzMxTDU0LjQ3OTYgMzIuMzU4QzU0Ljg1OCAzMi43MjA3IDU0Ljg1OCAzMy4zMTU1IDU0LjQ3OTYgMzMuNjc4Mkw1MS4zOTQ1IDM2LjY4MTNDNTEuMjA1MyAzNi44Njk5IDUwLjg5OTcgMzYuODY5OSA1MC43MTA1IDM2LjY4MTNMNDkuNDczNiAzNS40NzcyQzQ0LjIzNDcgMzAuMzg1IDM1Ljc2NTMgMzAuMzg1IDMwLjUyNjQgMzUuNDc3MkwyOS4yMDIxIDM2Ljc2ODRDMjkuMDEzIDM2Ljk1NyAyOC43MDc0IDM2Ljk1NyAyOC41MTgyIDM2Ljc2ODRMMjUuNDMzMSAzMy43NjUzQzI1LjA1NDcgMzMuNDAyNiAyNS4wNTQ3IDMyLjgwNzggMjUuNDMzMSAzMi40NDUxTDI2LjQyMjcgMzEuNDczMVpNNTkuOTY1OCAzNy42ODI0TDYyLjcxNjIgNDAuMzUxOEM2My4wOTQ2IDQwLjcxNDUgNjMuMDk0NiA0MS4zMDkzIDYyLjcxNjIgNDEuNjcyTDUwLjMzMjIgNTMuNzI4QzQ5Ljk1MzggNTQuMDkwNyA0OS4zNDI2IDU0LjA5MDcgNDguOTc4OCA1My43MjhMNDAuMTg5MiA0NS4xNjg0QzQwLjEwMTkgNDUuMDgxMyAzOS45NDE4IDQ1LjA4MTMgMzkuODU0NSA0NS4xNjg0TDMxLjA2NDkgNTMuNzI4QzMwLjY4NjUgNTQuMDkwNyAzMC4wNzUzIDU0LjA5MDcgMjkuNzExNSA1My43MjhMMTcuMjgzOCA0MS42NzJDMTYuOTA1NCA0MS4zMDkzIDE2LjkwNTQgNDAuNzE0NSAxNy4yODM4IDQwLjM1MThMMjAuMDM0MiAzNy42ODI0QzIwLjQxMjUgMzcuMzE5NyAyMS4wMjM3IDM3LjMxOTcgMjEuMzg3NSAzNy42ODI0TDMwLjE3NzIgNDYuMjQyQzMwLjI2NDUgNDYuMzI5IDMwLjQyNDUgNDYuMzI5IDMwLjUxMTkgNDYuMjQyTDM5LjMwMTUgMzcuNjgyNEMzOS42Nzk5IDM3LjMxOTcgNDAuMjkxIDM3LjMxOTcgNDAuNjU0OSAzNy42ODI0TDQ5LjQ0NDUgNDYuMjQyQzQ5LjUzMTggNDYuMzI5IDQ5LjY5MTkgNDYuMzI5IDQ5Ljc3OTIgNDYuMjQyTDU4LjU2ODggMzcuNjgyNEM1OC45NzYzIDM3LjMxOTcgNTkuNTg3NSAzNy4zMTk3IDU5Ljk2NTggMzcuNjgyNFoiIGZpbGw9IndoaXRlIi8+CjxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MF9yYWRpYWxfMV80NiIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDI0Nzk1NSA0MC4wMDEyKSBzY2FsZSg4MCkiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNUQ5REY2Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNkZGRiIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=";var bt="data:image/webp;base64,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",$=bt;var Ot="data:image/webp;base64,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",tt=Ot;var xt="data:image/webp;base64,UklGRgIIAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSFYEAAABoIZt29lIe9K0045t29batm3btm3btm3bNgbrsdJOno9N9s37/t0jIiYA/uBexavVGjWv4lhlndBi4NgJwzpUDbFgku+iZ/lFgqAXiooyH+/sGcYavtyHQhH/v1jI+3asmz1TXM+jZOHXo9Gu7ODKitIQ8de9IdbMKIcyfz9Yk2MD+FyXCfHl3EgAjgGaBhlyYf653o7AQk2/FLkQvy0vxQKATldlQ7zWwYEFUGZ7qmz4c0YgC8Ci54VfciHuS+AZAOA18kaGXPi8njkLAFyH3c4yyIOF3W2ZAGDd6XymIAviJCc2AJhU2frdIMqBq9wZAcAHTnwmC+7zZwVwGpvmRwtlwKOhrAAAjWX81PfS8FgEOwBUln6dTwpS8GgMcMwAADO32itTJYhHEoCjjG1Una5jZi5csmTexD5Nk5wlAKhcy098aBSKe0KBo4dFqe6Ljlx/+vFHTn5BQV5GysvbJ1b2K2NmFABYJYzPMAaFjZ5ASVVC343XP+tR8pcb67uGGgfl1uUZhQXLbKigqzz5zA+U+8vBQbFGuA69V4wSc8ZzyuNKTb6Nv7XgWAfX/wpbmo3S09sozqPTVfztuUsT/xW2HVGUhi9LKYtLWC4giVdqasFtE8orXnRSkkmNq0hoajPz6XkyoWGJTjm6DulI7Kc1r1H+RrxSTHr+RCqKH3yU0ucH0nKNpTLafUR61tEoofJNpOhtVwW4HkWq9rEgb3wGXV4EExd3Bynb14K0Ffm0uRVOWMxzpG57nqzpWfTZ4EMOpwXdXaTvy7KkhLYaMbnr4EwKGVqSoam6PxuxOKOYQjhUS0TFJ0jvqVYkBO5Gio8zJ6FZEc06A4G6EUjxm/EkWE6iWF5bDQl8P3q9qa8FIqukKE6fevdLnrTMcwPceSDTYbriXle18I6t0Lj7yKnLN+05eHDvppVTetcKttEBsUE7FPZjFABwvImphZWtvYOjo6O9rZWZBkjmfHpd+pn5MNWgEP1qc1C+WViZipHTshVyIABoWf67Mi6UBGraPlKAiPdqA0WX5REn4otmPE3KvSUOnzRTA1VXFBK31h/oGnaGuM/LKplTBWreIA3xQ19HmnBQ47KeNBTXelMEAAJW/RIIQzzqRxWA0pvT9QaRKHGHli6g8u6w6VkOSZjenzLA8SZWwXV6ztpx5tqrPCLwtgNl/s2ptWaWlpaL8mUpuHL+XY5xnxpQ6L+HfEY5v/W3cfFObD7tzK//+zmSViNSUM47DXUAAFo778QOqx8Z/qM1pYanoGQRDVuTefh/rUd0gzE7rl6cZEOnkakoY8poH5BqExgf4wI0Np/4HWU818oSWOk2Mxelpy1OAGaGrhJRsv5iD0tgZuJulP58SRQwU5V8CiV/Pt4AGBp1GiWK6We7mANDLUahaJSQcaW9DpjqMgeNNBR+OdrOElibfL24SBAEoSgv/fyYaGCxWdlOw8cN79Mw0YkHRqt4tVqt5lXwJ+pWUDgghgMAABAWAJ0BKoAAgAA+bTSURyQloiEqk9nYsA2JQbgEt2dXPx3ZTf98vy3EgOUeSO9hHic9K7zAfrd+1XvVekz0AP6r1BnoAeWh7Gf7v+ldmDv4QfpKdwLfB+6egAaV/XZVfAExo0L+tT79tt8+VXwmN45Z4nptSNJDyOGZiq5cm/+XKGPK7IkbuyViO/iPPUdvp20GjdqG3QdHD1MTQHaCOVeuqNbLcF0ZXATWEWfqadN5VqdF8cIqlOQAAP78+EAA28+AILZuRkLntURnAi0xzzvqvsJK7UidP66nOX5zexOrBLPybF22sf0iqN2oMqxpyeo6yi62gYSGdCaHvdMlTG0/sILZDaz1mdL6XF+yMGeI3l4sf3S0nrvKq37JMDIA5Di7+sfeOck5UA81s+6nKsE/Q8l+QHfi2/jWy6aUuZviHr0HmiBVgAunWUHrShgIK+QZDyoMz5An4QtJU6MiD1TQb2jab93Mbh5HG/EPXoPNEiMzFKLqXy4ZAAW0it5rgoh0l/93zpnRcwPlJdIFwpFe9q48OxEHrrBxvqi24lCo0YiUROGMfhbd2hnW+n+1cnztzCo6tzPqQY2a8GX/r74oDfmSww5uxZ/mr9HqHzyN+wMwlTUhXUI1n7ANs5nAvpi4/u12GibiOdOFXQxDz8iiVr647PlNNXlf9Tog+FM8GPM2tAC/09j300kMMB6l2AqvMQVXPy+QDDQkrWisB8bqt4f8Pk0ypBmqBMDItVcqTzB7RctK9ARplH9cOxB/2l7qZSH8DHmLd2VtLSmwhYXN7CC00nFIIgMkcSzzsoWKm6cK9ZGzo3IomzvVSh7puzIfbdK3VQQXeCV/7+qCWcOe6Q7R1yvG30VdXHr0YWsX5hK2VqsYA8mRWrj8OsGbnmai6CdT5q+yuoFTsZsFc7E7vHtK7jUFKK/nEJw+mJrmIbv7V6dt/OIbptRNOT2MQdQImMBe652QC861uq6e+cYabpyr1J1oXEDz8RziAC54ZJFs5D+8OXt+SO7osUumlPvTsTm+yE0lJYwnFndLKEjCaZXcX8yDg1534omnr8jlrj1Hlyq0LkMHzFxvCkEzvhir/nQhZM5vEC7dEf7Ok8WGZEFxxbBwtyRj9zspFTlRKjZt3rjcL9A1vhC1iXV3P/rgj//cZImdrsgxPl0wIZRzAGmce9+2+2x9/5i+sx3QAAAAAAAA",et=xt;var Et={ii:R,nfid:B,oisy:V,plug:q,metamask:H,coinbase:F,rainbow:J,brave:$,phantom:tt,rabby:et,ledger:X,okx:K,walletconnect:_};function O(o,t){let e=(o||"").toLowerCase();return Et[e]||t||null}var nt=!1,rt=!1,it=[1,8453,84532],ot=[1,8453,84532];async function St(o){return new Promise((t,e)=>{try{let r=typeof document<"u"?document:null;if(!r)return t();let a=Array.from(r.getElementsByTagName("script")).find(c=>c&&c.src===o);if(a&&String(a.type||"").toLowerCase()!=="module")return t();let n=r.createElement("script");n.src=o,n.async=!0,n.onload=()=>t(),n.onerror=()=>e(new Error("Failed to load script: "+o)),r.head.appendChild(n)}catch{t()}})}async function ct(o){for(let t of o)try{return await St(t),!0}catch{}return!1}function z(o,t){let e=t&&typeof t.globalVar=="string"&&t.globalVar.trim()?t.globalVar.trim():null,r=[e?o?.[e]?.default:null,e?o?.[e]:null,o?.["@walletconnect/ethereum-provider"]?.default,o?.["@walletconnect/ethereum-provider"],o?.WalletConnect?.EthereumProvider?.default,o?.WalletConnect?.EthereumProvider,o?.EthereumProvider?.default,o?.EthereumProvider,o?.WalletConnectEthereumProvider?.default,o?.WalletConnectEthereumProvider,o?.WalletConnectProvider?.default,o?.WalletConnectProvider].filter(Boolean);for(let i of r)if(typeof i=="function"||i&&typeof i.init=="function")return i;return null}async function W(o,t=1500,e=50){let r=Date.now();return new Promise((i,a)=>{let n=()=>{try{let c=o();if(c)return i(c)}catch{}if(Date.now()-r>=t)return i(null);setTimeout(n,e)};n()})}async function Pt(){}function at(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}async function st(){let o=typeof window<"u"?window:{};if(!(o?.QRCode&&typeof o.QRCode?.toCanvas=="function")){try{let t=await import("qrcode"),e=t&&(t.default||t)||null;if(e&&typeof e.toCanvas=="function"){o.QRCode=e;return}}catch{}rt||(rt=await ct(["https://cdn.jsdelivr.net/npm/qrcode@1.5.3/build/qrcode.min.js","https://unpkg.com/qrcode@1.5.3/build/qrcode.min.js"])),await W(()=>{let t=typeof window<"u"?window:{};return t?.QRCode&&typeof t.QRCode?.toCanvas=="function"},2e3,50)}}async function Ut(o){try{let t=typeof document<"u"?document:null;if(!t)return;let e=l=>{try{window.location.href=l}catch{try{window.open(l,"_self","noopener,noreferrer")}catch{}}},r=[],i=(l,s)=>{try{let d=setTimeout(()=>{try{let u=typeof document<"u"?document:null;if(u&&u.visibilityState==="hidden")return;l()}catch{}},s);r.push(d)}catch{}},a=()=>{try{r.forEach(l=>{try{clearTimeout(l)}catch{}})}catch{}r.length=0},n=()=>{try{let l=typeof document<"u"?document:null;l&&l.visibilityState==="hidden"&&a()}catch{}};try{document.addEventListener("visibilitychange",n)}catch{}let c=l=>{let s=encodeURIComponent(l),d=`https://go.cb-w.com/wc?uri=${s}`,u=`coinbasewallet://wc?uri=${s}`;e(d),i(()=>e(u),600),i(()=>{a();try{document.removeEventListener("visibilitychange",n)}catch{}},4e3)},y=(l,s,d)=>{let u=t.createElement("button");u.style.display="flex",u.style.alignItems="center",u.style.gap="8px",u.style.padding="8px 12px",u.style.borderRadius="10px",u.style.border="1px solid #444",u.style.background="#2a2a2a",u.style.color="#fff",u.style.cursor="pointer",u.style.width="100%",u.style.justifyContent="center";let g=t.createElement("img"),M=s?O(s):null;M&&(g.src=M,g.alt=s||"wallet",g.style.width="18px",g.style.height="18px",g.style.display="block",u.appendChild(g));let A=t.createElement("span");return A.textContent=l,A.style.fontSize="13px",u.appendChild(A),u.onclick=p=>{try{p.preventDefault()}catch{}try{d()}catch{}},u},w=t.getElementById("icpay-wc-overlay");if(!w){let l=t.createElement("div");l.id="icpay-wc-overlay",l.style.position="fixed",l.style.inset="0",l.style.background="rgba(0,0,0,0.55)",l.style.display="flex",l.style.alignItems="center",l.style.justifyContent="center",l.style.zIndex="999999";let s=t.createElement("div");s.style.background="#1a1a1a",s.style.border="1px solid #333",s.style.borderRadius="16px",s.style.padding="16px",s.style.width="320px",s.style.boxShadow="0 10px 30px rgba(0,0,0,0.4)",s.style.display="flex",s.style.flexDirection="column",s.style.alignItems="center";let d=t.createElement("div");d.textContent="Connect with your wallet",d.style.color="#fff",d.style.fontSize="16px",d.style.marginBottom="12px";let u=t.createElement("canvas");u.id="icpay-wc-qr-canvas",u.style.width="260px",u.style.height="260px",u.style.background="#fff",u.style.borderRadius="8px";let g=at();if(g){let A=t.createElement("div");A.style.display="flex",A.style.flexDirection="column",A.style.alignItems="stretch",A.style.gap="8px",A.style.width="100%";let p=()=>{try{d.textContent="Waiting for approval in your wallet...",A.style.pointerEvents="none",A.style.opacity="0.7"}catch{}};A.appendChild(y("MetaMask with WalletConnect","metamask",()=>{p(),e(`https://metamask.app.link/wc?uri=${encodeURIComponent(o)}`)})),A.appendChild(y("OKX Wallet with WalletConnect","okx",()=>{p(),e(`okx://wallet/wc?uri=${encodeURIComponent(o)}`)})),s.appendChild(A)}let M=t.createElement("button");M.textContent="Close",M.style.marginTop="12px",M.style.background="#2a2a2a",M.style.color="#fff",M.style.border="1px solid #444",M.style.padding="6px 10px",M.style.borderRadius="8px",M.onclick=()=>{try{let A=t.getElementById("icpay-wc-overlay");A&&A.parentNode&&A.parentNode.removeChild(A)}catch{}},s.appendChild(d),g||s.appendChild(u),s.appendChild(M),l.appendChild(s),t.body.appendChild(l),w=l}let N=t.getElementById("icpay-wc-qr-canvas");if(!at()){await st();let l=typeof window<"u"?window:{};if(N&&l?.QRCode?.toCanvas)try{l.QRCode.toCanvas(N,o,{width:260,margin:2})}catch{}}}catch{}}function x(){try{let t=(typeof document<"u"?document:null)?.getElementById("icpay-wc-overlay");t&&t.parentNode&&t.parentNode.removeChild(t)}catch{}}var E=class{constructor(t){this.id="walletconnect";this.label="WalletConnect";this.wcProvider=null;this.wcProviderProxy=null;this.wcRedirect=null;this.lastDisplayUri=null;this.autoOpenedWcDeepLink=!1;this.autoOpenedPhantom=!1;this.config=t.config||{}}getAdapterConfig(){try{return this.config?.adapters?.walletconnect?.config||{}}catch{return{}}}getInjectedWcProvider(){try{let e=(typeof window<"u"?window:{}).ethereum;if(Array.isArray(e?.providers)){let r=e.providers.find(i=>i&&(i.isWalletConnect||i?.provider?.isWalletConnect));if(r)return r}if(e&&(e.isWalletConnect||e?.provider?.isWalletConnect))return e}catch{}return null}getEvmProvider(){return this.wcProviderProxy?this.wcProviderProxy:this.wcProvider?this.wcProvider:this.getInjectedWcProvider()}async isInstalled(){try{if(this.getInjectedWcProvider())return!0;let e=!!z(typeof window<"u"?window:{}),r=this.getAdapterConfig(),i=!!(r.projectId||r.projectID);return!!(e&&i)}catch{return!1}}async isConnected(){try{let t=this.getEvmProvider();if(!t)return!1;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async ensureV2Globals(t){let e=typeof window<"u"?window:{};if(await Pt(),!z(e,t)){if(!nt){let r=t&&(t.umdUrls||t.umdUrl)||null,i=[];try{let w=typeof document<"u"?document:null;if(w){let N=Array.from(w.getElementsByTagName("script")),I=l=>{let s=l.toLowerCase();return s.includes("icpay-embed")||s.includes("widget.icpay")||s.includes("icpay-widget")};N.forEach(l=>{try{let s=String(l?.src||"");if(!s||!I(s))return;let d=s.lastIndexOf("/");if(d>0){let u=s.slice(0,d);i.push(`${u}/wc/index.umd.js`,`${u}/index.umd.js`)}}catch{}})}}catch{}let a=typeof window<"u"&&window.location&&window.location.origin?window.location.origin:"",n=a?[`${a}/wp-content/plugins/icpay-payments/assets/js/wc/index.umd.js`,`${a}/wp-content/plugins/instant-crypto-payments-for-woocommerce/assets/js/wc/index.umd.js`]:[],c=[...Array.isArray(r)?r.filter(Boolean):typeof r=="string"&&r.trim()?[r.trim()]:[],...i,...n];nt=await ct(c)}await W(()=>z(typeof window<"u"?window:{},t),2e3,100)}}isMobileBrowser(){try{let t=typeof navigator<"u"?navigator:window?.navigator,e=String(t?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(e)}catch{return!1}}openWalletAppIfPossible(){if(this.isMobileBrowser())try{let t=this.wcRedirect||{},e=t.native||t.universal||"";if(!e)return;try{window.location.href=e}catch{try{window.open(e,"_self","noopener,noreferrer")}catch{}}}catch{}}wrapProviderForMobileWake(t){if(!t||typeof t.request!="function")return t;let e=a=>{if(!this.isMobileBrowser()||!a)return!1;let n=a.toLowerCase();return n==="eth_sendtransaction"||n==="eth_signtransaction"||n==="eth_sign"||n==="personal_sign"||n==="eth_signtypeddata"||n==="eth_signtypeddata_v3"||n==="eth_signtypeddata_v4"||n==="wallet_switchethereumchain"||n==="wallet_addethereumchain"||n==="wallet_requestpermissions"},r=this;return new Proxy(t,{get(a,n,c){return n==="request"?async function(y){try{let w=y&&(y.method||typeof y=="object"&&y?.method);if(e(w)){r.openWalletAppIfPossible();try{await new Promise(N=>setTimeout(N,50))}catch{}}}catch{}return a.request.apply(a,arguments)}:Reflect.get(a,n,c)}})}async initGlobalProvider(){try{let t=typeof window<"u"?window:{},e=this.getAdapterConfig();if(!!!(e.projectId||e.projectID))return null;await this.ensureV2Globals(e);let i=z(t,e);if(i||(i=await W(()=>z(typeof window<"u"?window:{},e),4e3,100)),!i)return null;try{this.config?.debug&&console.debug("[ICPay WC] Using ctor",{isFn:typeof i=="function",hasInit:!!(i&&typeof i.init=="function"),name:i&&(i.name||i.constructor?.name)||"unknown"})}catch{}let a=String(e.projectId||e.projectID),n=it.slice(),c=ot.slice(),y=["eth_requestAccounts","eth_accounts","eth_chainId","personal_sign","eth_sign","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","wallet_switchEthereumChain","wallet_addEthereumChain"],w=["accountsChanged","chainChanged","connect","disconnect","message"],N=(()=>{try{let M=String(t?.location?.origin||"").trim();return M&&/^https?:\/\//.test(M)?M:"https://widget.icpay.org"}catch{return"https://widget.icpay.org"}})(),I=(()=>{try{return String(e?.metadata?.name||t?.document?.title||"ICPay Widget").trim()||"ICPay Widget"}catch{return"ICPay Widget"}})(),l=(()=>{try{return String(e?.metadata?.description||"ICPay mobile connect").trim()||"ICPay mobile connect"}catch{return"ICPay mobile connect"}})(),s=(()=>{try{return String(e?.metadata?.url||N).trim()||N}catch{return N}})(),d=(()=>{try{let M=(Array.isArray(e?.metadata?.icons)?e?.metadata?.icons:Array.isArray(e?.icons)?e?.icons:null)||null,p=(M&&M.length>0?M:[N+"/favicon.ico",N+"/apple-touch-icon.png"]).filter(G=>typeof G=="string"&&/^https?:\/\//.test(G));return p.length>0?p:[N+"/favicon.ico"]}catch{return[N+"/favicon.ico"]}})(),u={name:I,description:l,url:s,icons:d},g=typeof i.init=="function"?await i.init({projectId:a,chains:n,optionalChains:c,showQrModal:!1,metadata:u,relayUrl:"wss://relay.walletconnect.com",methods:y,optionalMethods:y,events:w,optionalEvents:w}):new i({projectId:a,chains:n,optionalChains:c,showQrModal:!1,metadata:u,relayUrl:"wss://relay.walletconnect.com",methods:y,optionalMethods:y,events:w,optionalEvents:w});try{await st(),g.on?.("display_uri",M=>{try{this.lastDisplayUri=M}catch{}try{Ut(M)}catch{}}),g.on?.("disconnect",()=>{try{x()}catch{}})}catch{}return g}catch{return null}}async connect(){try{let a=[];for(let n=0;n<localStorage.length;n++){let c=localStorage.key(n);c&&(c==="walletconnect"||c.startsWith("wc@")||c.startsWith("@walletconnect/")||c.toLowerCase().includes("walletconnect"))&&a.push(c)}a.forEach(n=>{try{localStorage.removeItem(n)}catch{}})}catch{}let t=this.getInjectedWcProvider();if(t){this.wcProvider=t,this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);let a=await this.wcProviderProxy.request({method:"eth_requestAccounts"}),n=Array.isArray(a)&&a[0]||"";if(!n)throw new Error("No account returned by WalletConnect");return{owner:n,principal:n,connected:!0}}let e=await this.initGlobalProvider();if(e){this.wcProvider=e;try{let y=e?.session?.peer?.metadata?.redirect||e?.session?.peer?.metadata?.redirects||null;y&&(y.native||y.universal)&&(this.wcRedirect={native:y.native,universal:y.universal})}catch{}try{await this.wcProvider.disconnect?.()}catch{}this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);try{await this.wcProviderProxy.connect?.({chains:it.slice(),optionalChains:ot.slice()})}catch{}try{await this.wcProviderProxy.request?.({method:"eth_requestAccounts"})}catch{}try{await this.wcProviderProxy.enable?.()}catch{}try{this.wcProviderProxy.on?.("connect",async()=>{try{let y=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(y)&&y.length>0)try{x()}catch{}}catch{}})}catch{}let n=await(async(y=6e4)=>{let w=Date.now();return new Promise(async(N,I)=>{let l=!1,s=(d,u)=>{if(!l){l=!0;try{x()}catch{}d&&d.length>0?N(d):I(u||new Error("No account returned by WalletConnect"))}};try{let d=g=>{let M=Array.isArray(g)?g:[];M.length>0&&s(M)},u=async()=>{try{let g=typeof document<"u"?document:null;if(g&&g.visibilityState==="visible"){try{await this.wcProviderProxy.request?.({method:"eth_requestAccounts"})}catch{}try{await this.wcProviderProxy.connect?.()}catch{}try{let M=await this.wcProviderProxy.request?.({method:"eth_accounts"}),A=!(Array.isArray(M)&&M.length>0)}catch{}}}catch{}};this.wcProviderProxy.on?.("accountsChanged",d);try{document.addEventListener("visibilitychange",u)}catch{}for(;!l&&Date.now()-w<y;){try{let g=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(g)&&g.length>0){this.wcProviderProxy.removeListener?.("accountsChanged",d);try{document.removeEventListener("visibilitychange",u)}catch{}return s(g)}}catch{}await new Promise(g=>setTimeout(g,500))}this.wcProviderProxy.removeListener?.("accountsChanged",d);try{document.removeEventListener("visibilitychange",u)}catch{}s(null,new Error("Timed out waiting for WalletConnect approval"))}catch(d){s(null,d)}})})(),c=Array.isArray(n)&&n[0]||"";if(!c)throw new Error("No account returned by WalletConnect");return{owner:c,principal:c,connected:!0}}let r=this.getAdapterConfig();throw!(r?.projectId||r?.projectID)?new Error("WalletConnect projectId is not configured. Set plugNPlay.adapters.walletconnect.config.projectId to enable WalletConnect."):new Error("WalletConnect provider not available. Ensure the self-hosted EthereumProvider UMD is available (dist/wc/index.umd.js) or provide plugNPlay.adapters.walletconnect.config.umdUrls.")}async disconnect(){try{let t=this.getEvmProvider();try{await t?.disconnect?.()}catch{}try{await t?.disconnectSession?.()}catch{}try{x()}catch{}try{let e=[];for(let r=0;r<localStorage.length;r++){let i=localStorage.key(r);i&&(i==="walletconnect"||i.startsWith("wc@")||i.startsWith("@walletconnect/")||i.includes("WALLETCONNECT"))&&e.push(i)}e.forEach(r=>{try{localStorage.removeItem(r)}catch{}})}catch{}try{t?.removeAllListeners?.("accountsChanged")}catch{}try{t?.removeAllListeners?.("chainChanged")}catch{}try{t?.removeAllListeners?.("disconnect")}catch{}this.wcProvider=null}catch{}}async getPrincipal(){try{let t=this.getEvmProvider();if(!t)return null;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function lt(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function j(){try{let o=typeof window<"u"?window:{};if(o.coinbaseWalletExtension)return o.coinbaseWalletExtension;let t=o.ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(r=>r&&(r.isCoinbaseWallet||r?.provider?.isCoinbaseWallet));if(e)return e}return t&&(t.isCoinbaseWallet||t?.provider?.isCoinbaseWallet)||lt()&&t&&typeof t.request=="function"?t:null}catch{return null}}var S=class{constructor(t){this.id="coinbase";this.label="Coinbase Wallet";this.config=t.config||{}}getEvmProvider(){return j()}async isInstalled(){try{return!!j()}catch{return!1}}async isConnected(){try{let t=j();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=j();if(!t){if(typeof window<"u"&&lt()){try{let n=String(window.location?.href||""),c=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(n)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"coinbase",url:c}}))}catch{}try{window.location.href=c}catch{try{window.open(c,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening Coinbase Wallet\u2026 If nothing happens, install Coinbase Wallet and try again.")}throw new Error("Coinbase Wallet not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=j()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by Coinbase Wallet");return{owner:a,principal:a,connected:!0}}async disconnect(){try{let t=j();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=j();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function ut(){try{let o=typeof navigator<"u"?navigator:window?.navigator;return!!(o&&(o.brave||String(o.userAgent||"").toLowerCase().includes("brave")))}catch{return!1}}function kt(o){try{let t=typeof window<"u"?window:{};if(t.brave?.ethereum)return t.brave.ethereum;let e=t.ethereum;if(!e)return null;if(Array.isArray(e.providers)&&e.providers.length){let i=e.providers.find(a=>a&&(a.isBraveWallet||a?.walletMeta?.name&&String(a.walletMeta.name).toLowerCase().includes("brave")));if(i)return i;if(o&&ut()){let a=e.providers.find(n=>n&&typeof n.request=="function"&&!n.isMetaMask&&!n.isCoinbaseWallet&&!n.isRabby&&!n.isOkxWallet&&!n.isOKExWallet&&!n.isPhantom);return a||e.providers[0]||null}return null}return e.isBraveWallet||(e?.walletMeta?.name?String(e.walletMeta.name).toLowerCase():"").includes("brave")||o&&ut()&&typeof e.request=="function"&&!e.isMetaMask&&!e.isCoinbaseWallet&&!e.isRabby&&!e.isOkxWallet&&!e.isOKExWallet&&!e.isPhantom?e:null}catch{return null}}var P=class{constructor(t){this.id="brave";this.label="Brave Wallet";this.config=t.config||{}}getProvider(){return kt(!0)}getEvmProvider(){return this.getProvider()}async isInstalled(){try{return!!this.getProvider()}catch{return!1}}async isConnected(){try{let t=this.getProvider();if(!t)return!1;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]?!0:!!(t?.selectedAddress||Array.isArray(t?.accounts)&&t.accounts[0])}catch{return!1}}async connect(){let t=this.getProvider();if(!t)throw new Error("Brave Wallet not available");let e=await t.request?.({method:"eth_requestAccounts"}),r=Array.isArray(e)&&e[0]||"";if(!r)throw new Error("No account returned by Brave Wallet");return{owner:r,principal:r,connected:!0}}async disconnect(){try{let t=this.getProvider();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=this.getProvider();if(!t)return null;let e=await t.request?.({method:"eth_accounts"});if(Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0])return e[0];let r=t?.selectedAddress||Array.isArray(t?.accounts)&&t.accounts[0];return typeof r=="string"&&r?r:null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function Mt(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function D(){try{let t=(typeof window<"u"?window:{}).ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(r=>r&&r.isRainbow);if(e)return e}return t&&t.isRainbow||Mt()&&t&&typeof t.request=="function"?t:null}catch{return null}}var U=class{constructor(t){this.id="rainbow";this.label="Rainbow";this.config=t.config||{}}getEvmProvider(){return D()}async isInstalled(){try{return!!D()}catch{return!1}}async isConnected(){try{let t=D();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=D();if(!t){if(typeof window<"u"&&Mt()){try{let n=String(window.location?.href||""),c=`https://rnbwapp.com/browse/${encodeURIComponent(n)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"rainbow",url:c}}))}catch{}try{window.location.href=c}catch{try{window.open(c,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening Rainbow\u2026 If nothing happens, install Rainbow and try again.")}throw new Error("Rainbow not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=D()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by Rainbow");return{owner:a,principal:a,connected:!0}}async disconnect(){try{let t=D();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=D();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function yt(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function h(){try{let t=(typeof window<"u"?window:{}).ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(r=>r&&r.isRabby);if(e)return e}return t&&t.isRabby||yt()&&t&&typeof t.request=="function"?t:null}catch{return null}}var k=class{constructor(t){this.id="rabby";this.label="Rabby";this.config=t.config||{}}getEvmProvider(){return h()}async isInstalled(){try{return!!h()}catch{return!1}}async isConnected(){try{let t=h();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=h();if(!t){if(typeof window<"u"&&yt()){try{let n=String(window.location?.href||""),c=`rabby://browser?url=${encodeURIComponent(n)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"rabby",url:c}}))}catch{}try{window.location.href=c}catch{try{window.open(c,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening Rabby\u2026 If nothing happens, install Rabby and try again.")}throw new Error("Rabby not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=h()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by Rabby");return{owner:a,principal:a,connected:!0}}async disconnect(){try{let t=h();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=h();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function dt(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function f(){try{let o=typeof window<"u"?window:{};if(o.phantom&&o.phantom.ethereum)return o.phantom.ethereum;let t=o.ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(r=>r&&(r.isPhantom||r.isPhantomEthereum));if(e)return e}return t&&(t.isPhantom||t.isPhantomEthereum)||dt()&&t&&typeof t.request=="function"?t:null}catch{return null}}var Q=class{constructor(t){this.id="phantom";this.label="Phantom";this.config=t.config||{}}getEvmProvider(){return f()}async isInstalled(){try{return!!f()}catch{return!1}}async isConnected(){try{let t=f();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=f();if(!t){if(typeof window<"u"&&dt())return await this.connectPhantomDeepLink();throw new Error("Phantom (EVM) not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=f()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by Phantom");return{owner:a,principal:a,connected:!0}}async connectPhantomDeepLink(){try{let t=typeof window<"u"?window:{},e=String(t?.location?.href||""),r=`https://phantom.app/ul/browse/${encodeURIComponent(e)}`;try{t.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"phantom",url:r}}))}catch{}try{t.location.href=r}catch{try{t.open(r,"_self","noopener,noreferrer")}catch{}}throw new Error("Opening Phantom\u2026 If nothing happens, install Phantom and try again.")}catch(t){throw new Error(t?.message||"Phantom connection failed")}}async disconnect(){try{let t=f();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=f();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function gt(){try{let o=typeof navigator<"u"?navigator:window?.navigator,t=String(o?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function m(){try{let o=typeof window<"u"?window:{},t=o.okxwallet;if(t&&(t.isOkxWallet||t.ethereum))return t.ethereum||t;let e=o.ethereum;if(e&&Array.isArray(e.providers)){let r=e.providers.find(i=>i&&(i.isOkxWallet||i?.provider?.isOkxWallet));if(r)return r}return e&&(e.isOkxWallet||e?.provider?.isOkxWallet)||gt()&&e&&typeof e.request=="function"?e:null}catch{return null}}var Y=class{constructor(t){this.id="okx";this.label="OKX Wallet";this.config=t.config||{}}getEvmProvider(){return m()}async isInstalled(){try{return!!m()}catch{return!1}}async isConnected(){try{let t=m();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=m();if(!t){if(typeof window<"u"&&gt()){try{let n=String(window.location?.href||""),c=`okx://wallet/dapp/url?url=${encodeURIComponent(n)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"okx",url:c}}))}catch{}try{window.location.href=c}catch{try{window.open(c,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening OKX Wallet\u2026 If nothing happens, install OKX Wallet and try again.")}throw new Error("OKX Wallet not available")}let e=n=>new Promise(c=>setTimeout(c,n)),r=async()=>{try{let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}try{let n=await t.request?.({method:"eth_requestAccounts"});if(Array.isArray(n)&&n.length>0)return n}catch(n){if(n&&(n.code===4001||n.code==="4001"))throw new Error("Connection request was rejected")}try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]});let n=await t.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)return n}catch{}return[]},i=[];for(let n=0;n<3&&i.length===0;n++)t=m()||t,i=await r(),i.length===0&&await e(300);let a=Array.isArray(i)&&i[0]||"";if(!a)throw new Error("No account returned by OKX Wallet");return{owner:a,principal:a,connected:!0}}async disconnect(){try{let t=m();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=m();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function Wt(o){if(!o)return null;if(typeof o=="string")return o;try{let t=o;if(typeof t.toText=="function")return t.toText();if(typeof t.toString=="function")return t.toString()}catch{}return null}function Zt(o){let t={};return o&&(t.host=o),t}function Gt(o){return o&&typeof o=="string"&&o.trim()?o:"https://icp-api.io"}var Z=class{constructor(t){this._activeAdapter=null;this._account=null;this._config=t||{};let e={};e.metamask={id:"metamask",label:"MetaMask",icon:null,enabled:!0,adapter:b},e.coinbase={id:"coinbase",label:"Coinbase Wallet",icon:null,enabled:!0,adapter:S},e.walletconnect={id:"walletconnect",label:"WalletConnect",icon:null,enabled:!1,adapter:E},e.phantom={id:"phantom",label:"Phantom",icon:null,enabled:!0,adapter:Q},e.rainbow={id:"rainbow",label:"Rainbow",icon:null,enabled:!1,adapter:U},e.rabby={id:"rabby",label:"Rabby",icon:null,enabled:!0,adapter:k},e.brave={id:"brave",label:"Brave Wallet",icon:null,enabled:!0,adapter:P},e.okx={id:"okx",label:"OKX Wallet",icon:null,enabled:!0,adapter:Y},e.oisy={id:"oisy",label:"Oisy",icon:null,enabled:!0,adapter:v},e.nfid={id:"nfid",label:"NFID",icon:null,enabled:!1,adapter:C},e.ii={id:"ii",label:"Internet Identity",icon:null,enabled:!1,adapter:L},e.plug={id:"plug",label:"Plug",icon:null,enabled:!0,adapter:T};let r=this._config.adapters=this._config.adapters||{},i=Gt(this._config.icHost);this._config.icHost||(this._config.icHost=i),r.nfid=r.nfid||{},r.nfid.config={signerUrl:r.nfid.config?.signerUrl||"https://nfid.one/rpc",hostUrl:r.nfid.config?.hostUrl||i,transport:{...r.nfid.config?.transport||{}}},r.oisy=r.oisy||{},r.oisy.config={signerUrl:r.oisy.config?.signerUrl||"https://oisy.com/sign",hostUrl:r.oisy.config?.hostUrl||i,transport:{...r.oisy.config?.transport||{}}},r.walletconnect=r.walletconnect||{},r.walletconnect.config={...r.walletconnect.config||{},projectId:r.walletconnect.config?.projectId||"",chains:r.walletconnect.config?.chains||[8453,84532]};try{let a=r.walletconnect?.enabled!==!1,n=String(r.walletconnect?.config?.projectId||"").trim();a&&!n&&(e.walletconnect.enabled=!1)}catch{}r.plug=r.plug||{},r.ii=r.ii||{},Object.keys(e).forEach(a=>{let n=r[a];n&&typeof n.enabled=="boolean"&&(e[a].enabled=!!n.enabled)}),this._adapters=e}isMobileBrowser(){try{let t=typeof navigator<"u"?navigator:globalThis?.navigator,e=String(t?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(e)}catch{return!1}}get config(){return this._config}get account(){return this._account}getEnabledWallets(){let t=Array.isArray(this._config.chainTypes)?this._config.chainTypes.map(r=>String(r).toLowerCase()):null,e={oisy:"ic",nfid:"ic",ii:"ic",plug:"ic",metamask:"evm",walletconnect:"evm",coinbase:"evm",brave:"evm",rainbow:"evm",rabby:"evm",phantom:"evm",okx:"evm"};return Object.values(this._adapters).filter(r=>{if(r.enabled===!1)return!1;if(r.id==="walletconnect")try{if(!String(this._config?.adapters?.walletconnect?.config?.projectId||"").trim())return!1}catch{return!1}return!(r.id==="rabby"&&this.isMobileBrowser())}).filter(r=>{if(!t||t.length===0)return!0;let i=e[r.id];return!!i&&t.includes(i)}).map(r=>({id:r.id,label:r.label,icon:this.resolveIcon(r.id,r.icon),enabled:r.enabled,adapter:r.adapter,config:this._config.adapters&&this._config.adapters[r.id]?.config||{}}))}resolveIcon(t,e){return O(t,e||null)}getEvmProvider(){try{let t=this._activeAdapter;if(t&&typeof t.getEvmProvider=="function"){let e=t.getEvmProvider();if(e)return e}}catch{}try{return(typeof window<"u"?window.ethereum:null)||null}catch{return null}}connect(t){let e=(t||"").toLowerCase(),r=e?this._adapters[e]:void 0;if(!r||r.enabled===!1)throw new Error("No wallets available");let i=new r.adapter({config:this._config});return this._activeAdapter=i,i.connect().then(a=>{let n=Wt(a?.principal||a?.owner);return this._account={owner:n,principal:n,connected:!0},this._account})}async disconnect(){try{await this._activeAdapter?.disconnect()}catch{}this._activeAdapter=null,this._account=null}getActor(t){if(!this._activeAdapter){let e=new Yt(Zt(this._config.icHost));return Qt.createActor(t.idl,{agent:e,canisterId:t.canisterId})}return this._activeAdapter.getActor(t)}},tn=o=>new Z(o);export{Z as a,tn as b};
2
+ //# sourceMappingURL=chunk-2FZ4TGDZ.js.map