@ic-pay/icpay-widget 1.2.117 → 1.2.122

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.
@@ -49,7 +49,7 @@ type CommonConfig = {
49
49
  chainId?: number;
50
50
  chainShortcodes?: string[];
51
51
  tokenShortcodes?: string[];
52
- chainTypes?: Array<'ic' | 'evm' | 'sol'>;
52
+ chainTypes?: Array<'ic' | 'evm' | 'sol' | 'stripe'>;
53
53
  fiat_currency?: string;
54
54
  metadata?: Record<string, any>;
55
55
  derivationOrigin?: string;
@@ -148,6 +148,17 @@ type PayButtonConfig = CommonConfig & {
148
148
  id: number;
149
149
  status: string;
150
150
  }) => void;
151
+ x402Upto?: boolean;
152
+ /**
153
+ * Optional: callback invoked when an X402 up-to intent is created.
154
+ * Use this to start long-running work and settle later via secret-key SDK.
155
+ */
156
+ onX402UptoIntent?: (info: {
157
+ paymentIntentId: string;
158
+ amountUsd: number;
159
+ metadata?: Record<string, any>;
160
+ accepts: any[];
161
+ }) => void | Promise<void>;
151
162
  };
152
163
  type AmountInputConfig = CommonConfig & {
153
164
  placeholder?: string;
@@ -727,6 +738,11 @@ declare class ICPayPayButton extends LitElement {
727
738
  generateWalletConnectQr(hostOptions?: {
728
739
  onConnected?: () => void;
729
740
  }): Promise<string | null>;
741
+ /**
742
+ * Poll a payment intent until it reaches a terminal status so the button can
743
+ * reflect completion for X402 up-to flows where settlement happens server-side.
744
+ */
745
+ private pollUntilIntentTerminal;
730
746
  /**
731
747
  * Check if Coinbase/Base wallet is already connected (e.g. user returned from Base app deep link).
732
748
  * Host can call this on load when showing Base option on mobile to show "Connected".
@@ -0,0 +1,2 @@
1
+ import{Actor as te,HttpAgent as ee}from"@dfinity/agent";import{Actor as Lt}from"@dfinity/agent";var S=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 Lt.createActor(t.idl,{agent:e,canisterId:t.canisterId})}};import{Actor as Ct,HttpAgent as vt}from"@dfinity/agent";import{AuthClient as bt}from"@dfinity/auth-client";var E=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 bt.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 vt({host:this._config.icHost,identity:r});let o=r.getPrincipal().toText();return{owner:o,principal:o,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 Ct.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as xt,HttpAgent as St}from"@dfinity/agent";import{PostMessageTransport as Et}from"@slide-computer/signer-web";import{Signer as Ot}from"@slide-computer/signer";import{SignerAgent as Pt}from"@slide-computer/signer-agent";var O=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,o=e.hostUrl||this._config.icHost;if(!r)throw new Error("NFID signerUrl not configured");if(!o)throw new Error("IC host not configured");let i=new St({host:o}),n=new Et({url:r,...e.transport||{}}),c=new Ot({transport:n});await c.openChannel();let M=(await c.accounts())?.[0]?.owner,d=await Pt.create({signer:c,agent:i,account:M}),A=null;try{A=(await d.getPrincipal())?.toText?.()||null}catch{}return this._agent=d,this._principal=A,{owner:A,principal:A,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 xt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as kt,HttpAgent as Ut}from"@dfinity/agent";import{PostMessageTransport as Qt}from"@slide-computer/signer-web";import{Signer as Wt}from"@slide-computer/signer";import{SignerAgent as Yt}from"@slide-computer/signer-agent";var P=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,o=e.hostUrl||this._config.icHost,i=e.transport||{};if(!r)throw new Error("Oisy signerUrl not configured");if(!o)throw new Error("IC host not configured");let n=i.windowOpenerFeatures??"",c=new Ut({host:o}),s=new Qt({url:r,windowOpenerFeatures:n,detectNonClickEstablishment:!1,...i}),M=new Wt({transport:s});await M.openChannel();let A=(await M.accounts())?.[0]?.owner,l=await Yt.create({signer:M,agent:c,account:A}),u=null;try{u=(await l.getPrincipal())?.toText?.()||null}catch{}return this._agent=l,this._principal=u,{owner:u,principal:u,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 kt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};var k=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(o=>o&&o.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 s=`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:s}}))}catch{}window.location.href=s}catch{try{window.open(s,"_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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=this.getProvider()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by MetaMask");return{owner:i,principal:i,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 $="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzNTguOCAxNzkuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzU4LjggMTc5Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0MntmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMyOUFCRTI7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyNC43ODUzIiB5MT0iMjU3Ljc1MzYiIHgyPSIzNDguMDY2MyIgeTI9IjEzMy40NTgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMjcyKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjE1QTI0Ii8+Cgk8c3RvcCAgb2Zmc2V0PSIwLjY4NDEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3MS42LDBjLTIwLDAtNDEuOSwxMC45LTY1LDMyLjRjLTEwLjksMTAuMS0yMC41LDIxLjEtMjcuNSwyOS44YzAsMCwxMS4yLDEyLjksMjMuNSwyNi44CgljNi43LTguNCwxNi4yLTE5LjgsMjcuMy0zMC4xYzIwLjUtMTkuMiwzMy45LTIzLjEsNDEuNi0yMy4xYzI4LjgsMCw1Mi4yLDI0LjIsNTIuMiw1NC4xYzAsMjkuNi0yMy40LDUzLjgtNTIuMiw1NC4xCgljLTEuNCwwLTMtMC4yLTUtMC42YzguNCwzLjksMTcuNSw2LjcsMjYsNi43YzUyLjgsMCw2My4yLTM2LjUsNjMuOC0zOS4xYzEuNS02LjcsMi40LTEzLjcsMi40LTIwLjlDMzU4LjYsNDAuNCwzMTkuNiwwLDI3MS42LDB6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMzLjk0NjEiIHkxPSIxMDYuNDI2MiIgeDI9IjEwLjY2NTMiIHkyPSIyMzAuNzIxNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3MikiPgoJPHN0b3AgIG9mZnNldD0iMC4yMSIgc3R5bGU9InN0b3AtY29sb3I6I0VEMUU3OSIvPgoJPHN0b3AgIG9mZnNldD0iMC44OTI5IiBzdHlsZT0ic3RvcC1jb2xvcjojNTIyNzg1Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04Ny4xLDE3OS44YzIwLDAsNDEuOS0xMC45LDY1LTMyLjRjMTAuOS0xMC4xLDIwLjUtMjEuMSwyNy41LTI5LjhjMCwwLTExLjItMTIuOS0yMy41LTI2LjgKCWMtNi43LDguNC0xNi4yLDE5LjgtMjcuMywzMC4xYy0yMC41LDE5LTM0LDIzLjEtNDEuNiwyMy4xYy0yOC44LDAtNTIuMi0yNC4yLTUyLjItNTQuMWMwLTI5LjYsMjMuNC01My44LDUyLjItNTQuMQoJYzEuNCwwLDMsMC4yLDUsMC42Yy04LjQtMy45LTE3LjUtNi43LTI2LTYuN0MxMy40LDI5LjYsMyw2Ni4xLDIuNCw2OC44QzAuOSw3NS41LDAsODIuNSwwLDg5LjdDMCwxMzkuNCwzOSwxNzkuOCw4Ny4xLDE3OS44eiIvPgo8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTI3LjMsNTkuN2MtNS44LTUuNi0zNC0yOC41LTYxLTI5LjNDMTguMSwyOS4yLDQsNjQuMiwyLjcsNjguN0MxMiwyOS41LDQ2LjQsMC4yLDg3LjIsMAoJYzMzLjMsMCw2NywzMi43LDkxLjksNjIuMmMwLDAsMC4xLTAuMSwwLjEtMC4xYzAsMCwxMS4yLDEyLjksMjMuNSwyNi44YzAsMCwxNCwxNi41LDI4LjgsMzFjNS44LDUuNiwzMy45LDI4LjIsNjAuOSwyOQoJYzQ5LjUsMS40LDYzLjItMzUuNiw2My45LTM4LjRjLTkuMSwzOS41LTQzLjYsNjguOS04NC42LDY5LjFjLTMzLjMsMC02Ny0zMi43LTkyLTYyLjJjMCwwLjEtMC4xLDAuMS0wLjEsMC4yCgljMCwwLTExLjItMTIuOS0yMy41LTI2LjhDMTU2LjIsOTAuOCwxNDIuMiw3NC4yLDEyNy4zLDU5Ljd6IE0yLjcsNjkuMWMwLTAuMSwwLTAuMiwwLjEtMC4zQzIuNyw2OC45LDIuNyw2OSwyLjcsNjkuMXoiLz4KPC9zdmc+Cg==";var tt="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45MDIyIDMuMTU2MjlDMTYuNzcxNCAzLjA2MzYzIDE3LjQwMDggMi4yODM5OCAxNy4zMDgxIDEuNDE0ODlDMTcuMjE1NSAwLjU0NTgwOSAxNi40MzU4IC0wLjA4MzYwOTkgMTUuNTY2NyAwLjAwOTA0OTQ2TDEyLjMzNDUgMC4zNTM2MzNDMTAuNjc4NiAwLjUzMDE2NSA5LjM1MDQ2IDAuNjcxNzUxIDguMjcxOCAwLjg2NzMwNkM3LjE2MDYgMS4wNjg3NiA2LjIwODI3IDEuMzQ0MTQgNS4zMjM3OCAxLjgzOTgxQzMuODg3NzMgMi42NDQ1NyAyLjY5NzE5IDMuODIzODUgMS44Nzk0NCA1LjI1MTk2QzEuMzc1NjggNi4xMzE3MyAxLjA5MjA0IDcuMDgxMTIgMC44ODExODUgOC4xODk2MUMwLjY3NjUzNSA5LjI2NTQ5IDAuNTIzODkzIDEwLjU5MSAwLjMzMzYyMSAxMi4yNDMyTDAuMzI1NDI0IDEyLjMxNDRMMC4wMDgwNjAwNiAxNS40NzA0Qy0wLjA3OTM4NzUgMTYuMzQgMC41NTQ3MjYgMTcuMTE1OSAxLjQyNDM5IDE3LjIwMzRDMi4yOTQwNiAxNy4yOTA4IDMuMDY5OTUgMTYuNjU2NyAzLjE1NzQgMTUuNzg3MUwzLjQ3MjQ4IDEyLjY1MzhDMy42NzA1NCAxMC45MzQgMy44MTA2NiA5LjcyNzMgMy45OTA2NiA4Ljc4MTAzQzQuMTY3MzEgNy44NTIzNSA0LjM2NDQ5IDcuMjgxODEgNC42MjYyNiA2LjgyNDY3QzUuMTU5MDEgNS44OTQyNyA1LjkzNDg3IDUuMTI1NTkgNi44NzEyMSA0LjYwMDg2QzcuMzMxNTEgNC4zNDI5MSA3LjkwNDg2IDQuMTUwNTEgOC44MzY0NiAzLjk4MTYxQzkuNzg3NjYgMy44MDkxNiAxMS4wMDA1IDMuNjc4ODggMTIuNzI5OSAzLjQ5NDVMMTUuOTAyMiAzLjE1NjI5Wk00Ni42OTE5IDEuNDE0ODlDNDYuNTk5MiAyLjI4Mzk4IDQ3LjIyODYgMy4wNjM2MyA0OC4wOTc4IDMuMTU2MjlMNTEuMjcwMSAzLjQ5NDVDNTIuOTk5NSAzLjY3ODg4IDU0LjIxMjMgMy44MDkxNiA1NS4xNjM1IDMuOTgxNjFDNTYuMDk1MSA0LjE1MDUxIDU2LjY2ODUgNC4zNDI5MSA1Ny4xMjg4IDQuNjAwODZDNTguMDY1MSA1LjEyNTU5IDU4Ljg0MSA1Ljg5NDI3IDU5LjM3MzcgNi44MjQ2N0M1OS42MzU1IDcuMjgxODEgNTkuODMyNyA3Ljg1MjM1IDYwLjAwOTMgOC43ODEwM0M2MC4xODkzIDkuNzI3MyA2MC4zMjk1IDEwLjkzNCA2MC41Mjc1IDEyLjY1MzhMNjAuODQyNiAxNS43ODcxQzYwLjkzIDE2LjY1NjcgNjEuNzA1OSAxNy4yOTA4IDYyLjU3NTYgMTcuMjAzNEM2My40NDUzIDE3LjExNTkgNjQuMDc5NCAxNi4zNCA2My45OTE5IDE1LjQ3MDRMNjMuNjc0NiAxMi4zMTQ0TDYzLjY2NjQgMTIuMjQzMkM2My40NzYxIDEwLjU5MSA2My4zMjM1IDkuMjY1NDkgNjMuMTE4OCA4LjE4OTYxQzYyLjkwOCA3LjA4MTEyIDYyLjYyNDMgNi4xMzE3MyA2Mi4xMjA2IDUuMjUxOTZDNjEuMzAyOCAzLjgyMzg1IDYwLjExMjMgMi42NDQ1NyA1OC42NzYyIDEuODM5ODFDNTcuNzkxNyAxLjM0NDE0IDU2LjgzOTQgMS4wNjg3NiA1NS43MjgyIDAuODY3MzA2QzU0LjY0OTUgMC42NzE3NTEgNTMuMzIxNCAwLjUzMDE2NSA1MS42NjU1IDAuMzUzNjMzTDQ4LjQzMzMgMC4wMDkwNDk0NkM0Ny41NjQyIC0wLjA4MzYwOTkgNDYuNzg0NSAwLjU0NTgwOSA0Ni42OTE5IDEuNDE0ODlaTTQ2LjY5MTkgNjIuNTg1MUM0Ni41OTkyIDYxLjcxNiA0Ny4yMjg2IDYwLjkzNjQgNDguMDk3OCA2MC44NDM3TDUxLjI3MDEgNjAuNTA1NUM1Mi45OTk1IDYwLjMyMTEgNTQuMjEyMyA2MC4xOTA4IDU1LjE2MzUgNjAuMDE4NEM1Ni4wOTUxIDU5Ljg0OTUgNTYuNjY4NSA1OS42NTcxIDU3LjEyODggNTkuMzk5MUM1OC4wNjUxIDU4Ljg3NDQgNTguODQxIDU4LjEwNTcgNTkuMzczNyA1Ny4xNzUzQzU5LjYzNTUgNTYuNzE4MiA1OS44MzI3IDU2LjE0NzYgNjAuMDA5MyA1NS4yMTlDNjAuMTg5MyA1NC4yNzI3IDYwLjMyOTUgNTMuMDY2IDYwLjUyNzUgNTEuMzQ2Mkw2MC44NDI2IDQ4LjIxMjlDNjAuOTMgNDcuMzQzMyA2MS43MDU5IDQ2LjcwOTIgNjIuNTc1NiA0Ni43OTY2QzYzLjQ0NTMgNDYuODg0MSA2NC4wNzk0IDQ3LjY2IDYzLjk5MTkgNDguNTI5Nkw2My42NzQ2IDUxLjY4NTZMNjMuNjY2NCA1MS43NTY4QzYzLjQ3NjEgNTMuNDA5IDYzLjMyMzUgNTQuNzM0NSA2My4xMTg4IDU1LjgxMDRDNjIuOTA4IDU2LjkxODkgNjIuNjI0MyA1Ny44NjgzIDYyLjEyMDYgNTguNzQ4QzYxLjMwMjggNjAuMTc2MiA2MC4xMTIzIDYxLjM1NTQgNTguNjc2MiA2Mi4xNjAyQzU3Ljc5MTcgNjIuNjU1OSA1Ni44Mzk0IDYyLjkzMTIgNTUuNzI4MiA2My4xMzI3QzU0LjY0OTYgNjMuMzI4MiA1My4zMjE2IDYzLjQ2OTggNTEuNjY1OCA2My42NDYzTDUxLjY2NTYgNjMuNjQ2M0w1MS42NjU1IDYzLjY0NjRMNTEuNjY1NSA2My42NDY0TDQ4LjQzMzMgNjMuOTkxQzQ3LjU2NDIgNjQuMDgzNiA0Ni43ODQ1IDYzLjQ1NDIgNDYuNjkxOSA2Mi41ODUxWk0xNy4zMDgxIDYyLjU4NTZDMTcuNDAwOCA2MS43MTY1IDE2Ljc3MTQgNjAuOTM2OSAxNS45MDIyIDYwLjg0NDJMMTIuNzI5OSA2MC41MDZDMTEuMDAwNSA2MC4zMjE2IDkuNzg3NjYgNjAuMTkxMyA4LjgzNjQ2IDYwLjAxODlDNy45MDQ4NiA1OS44NSA3LjMzMTUxIDU5LjY1NzYgNi44NzEyMSA1OS4zOTk2QzUuOTM0ODcgNTguODc0OSA1LjE1OTAxIDU4LjEwNjIgNC42MjYyNiA1Ny4xNzU4QzQuMzY0NDkgNTYuNzE4NyA0LjE2NzMxIDU2LjE0ODEgMy45OTA2NiA1NS4yMTk1QzMuODEwNjYgNTQuMjczMiAzLjY3MDU0IDUzLjA2NjUgMy40NzI0OCA1MS4zNDY3TDMuMTU3NCA0OC4yMTM0QzMuMDY5OTUgNDcuMzQzOCAyLjI5NDA2IDQ2LjcwOTcgMS40MjQzOSA0Ni43OTcxQzAuNTU0NzI2IDQ2Ljg4NDYgLTAuMDc5Mzg3NSA0Ny42NjA0IDAuMDA4MDYwMDYgNDguNTMwMUwwLjMyNTQyNCA1MS42ODYxTDAuMzMzNjIxIDUxLjc1NzNDMC41MjM4OTMgNTMuNDA5NSAwLjY3NjUzNSA1NC43MzUgMC44ODExODUgNTUuODEwOUMxLjA5MjA0IDU2LjkxOTQgMS4zNzU2OCA1Ny44Njg4IDEuODc5NDQgNTguNzQ4NUMyLjY5NzE5IDYwLjE3NjYgMy44ODc3MyA2MS4zNTU5IDUuMzIzNzggNjIuMTYwN0M2LjIwODI3IDYyLjY1NjMgNy4xNjA2IDYyLjkzMTcgOC4yNzE4IDYzLjEzMzJDOS4zNTA0NCA2My4zMjg3IDEwLjY3ODYgNjMuNDcwMyAxMi4zMzQ1IDYzLjY0NjhMMTIuMzM0NSA2My42NDY5TDE1LjU2NjcgNjMuOTkxNEMxNi40MzU4IDY0LjA4NDEgMTcuMjE1NSA2My40NTQ3IDE3LjMwODEgNjIuNTg1NlpNMTYuNDUxMiAxOS43OTU0QzE1LjY5NTUgMTkuNzk1NCAxNS4wODI4IDIwLjQwODEgMTUuMDgyOCAyMS4xNjM4VjQzLjI5NzJDMTUuMDgyOCA0NC4wNTMgMTUuNjk1NSA0NC42NjU2IDE2LjQ1MTIgNDQuNjY1NkgyMC43NDk0QzIxLjUwNTIgNDQuNjY1NiAyMi4xMTc4IDQ0LjA1MyAyMi4xMTc4IDQzLjI5NzJWMjEuMTYzOEMyMi4xMTc4IDIwLjQwODEgMjEuNTA1MiAxOS43OTU0IDIwLjc0OTQgMTkuNzk1NEgxNi40NTEyWk0yOC4xMDgyIDE5Ljc5NTRDMjcuMzUyNSAxOS43OTU0IDI2LjczOTggMjAuNDA4MSAyNi43Mzk4IDIxLjE2MzhWNDMuMjk3MkMyNi43Mzk4IDQ0LjA1MyAyNy4zNTI1IDQ0LjY2NTYgMjguMTA4MiA0NC42NjU2SDM4LjUwMDRDNDEuMjI0NCA0NC42NjU2IDQzLjY0MDUgNDQuMTU2NCA0NS43NDg3IDQzLjEzNzlDNDcuODU2OCA0Mi4xMTk0IDQ5LjQ5MTIgNDAuNjc0NiA1MC42NTE5IDM4LjgwMzRDNTEuODEyNSAzNi45MzIyIDUyLjM5MjkgMzQuNzQxMiA1Mi4zOTI5IDMyLjIzMDVDNTIuMzkyOSAyOS43MTk4IDUxLjgxMjUgMjcuNTI4OSA1MC42NTE5IDI1LjY1NzdDNDkuNDkxMiAyMy43ODY1IDQ3Ljg1NjggMjIuMzQxNyA0NS43NDg3IDIxLjMyMzJDNDMuNjQwNSAyMC4zMDQ3IDQxLjIyNDQgMTkuNzk1NCAzOC41MDA0IDE5Ljc5NTRIMjguMTA4MlpNNDMuMzMyNiAzNy4yNDAxQzQyLjA1MzUgMzguNDQ4MSA0MC4zNDggMzkuMDUyMSAzOC4yMTYyIDM5LjA1MjFIMzQuMTg1NEMzMy45NTg3IDM5LjA1MjEgMzMuNzc0OSAzOC44NjgzIDMzLjc3NDkgMzguNjQxNlYyNS44MTk1QzMzLjc3NDkgMjUuNTkyOCAzMy45NTg3IDI1LjQwOSAzNC4xODU0IDI1LjQwOUgzOC4yMTYyQzQwLjM0OCAyNS40MDkgNDIuMDUzNSAyNi4wMTMgNDMuMzMyNiAyNy4yMjFDNDQuNjM1NCAyOC40Mjg5IDQ1LjI4NjggMzAuMDk4OCA0NS4yODY4IDMyLjIzMDVDNDUuMjg2OCAzNC4zNjIzIDQ0LjYzNTQgMzYuMDMyMSA0My4zMzI2IDM3LjI0MDFaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfODAzODBfNTQpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfODAzODBfNTQiIHgxPSIwLjc2NTgxMiIgeTE9Ii0yLjcwNDk2ZS0wNyIgeDI9IjYzLjU0MTciIHkyPSI2NC4yNzkzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMwMEE2OTUiLz4KPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiMwMTg0NzciLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2RjY0Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==";var et="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iMjIiIGZpbGw9IiMwMDY2RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC40MTIgMzMuNDE5M0wyMy44ODI3IDM1Ljc2MDNDMjMuODAzNyAzNi4xMDk5IDIzLjQ2OTMgMzYuMzQwNSAyMy4xMTUyIDM2LjI4NThDMjIuMzA4IDM2LjE2MSAyMS40OSAzNi4wMTc3IDIwLjY2MzcgMzUuODU5NEMyMC4yODQyIDM1Ljc4NjcgMjAuMDQyMyAzNS40MTMzIDIwLjEyNzUgMzUuMDM2NUwyMC42MDY3IDMyLjkxN0MyMC4yNzExIDMyLjg1MTMgMTkuOTMzNCAzMi43ODAyIDE5LjU5NCAzMi43MDQyQzE5LjI4OCAzMi42MzQ0IDE4Ljk4NSAzMi41NjE1IDE4LjY4NTQgMzIuNDg1NUwxOC4yMDY0IDM0LjYwNDRDMTguMTIxMiAzNC45ODEgMTcuNzQyNiAzNS4yMTQgMTcuMzY4OSAzNS4xMTY4QzE2LjU1NDggMzQuOTA1IDE1Ljc1NDcgMzQuNjgzNiAxNC45NzIzIDM0LjQ1MDRDMTQuNjI4NCAzNC4zNDc5IDE0LjQyNTEgMzMuOTk1NSAxNC41MDQzIDMzLjY0NTVMMTUuMDMwOCAzMS4zMTY0QzkuODI2OTUgMjkuMjI5NyA2LjU0MTYxIDI1LjY4MyA3LjkzNjAzIDE5LjYyNjJMOC4yNzE1NiAxOC4xNDIxQzkuNjIwOTQgMTIuMDYyNiAxNC4xMTA5IDEwLjI4MTEgMTkuNzA1NiAxMC42MzkzTDIwLjIzMTggOC4zMTE3N0MyMC4zMTA5IDcuOTYxNzMgMjAuNjQ2IDcuNzMxMDUgMjEuMDAwNiA3Ljc4NjQ1QzIxLjgwNzIgNy45MTI0OSAyMi42MjQ3IDguMDU2ODMgMjMuNDUwNyA4LjIxNTkyQzIzLjgyOTkgOC4yODg5NSAyNC4wNzE0IDguNjYyMTMgMjMuOTg2MyA5LjAzODc1TDIzLjUwNzMgMTEuMTU3NUMyMy44MTA0IDExLjIxNzkgMjQuMTE1MyAxMS4yODI0IDI0LjQyMTUgMTEuMzUxMUMyNC43NjA5IDExLjQyNzggMjUuMDk2NSAxMS41MDgzIDI1LjQyNzcgMTEuNTkyN0wyNS45MDY1IDkuNDc1MUMyNS45OTE3IDkuMDk4MjYgMjYuMzcwNyA4Ljg2NTI4IDI2Ljc0NDUgOC45NjI4OUMyNy41NTg2IDkuMTc1NDQgMjguMzU4NiA5LjM5Nzg4IDI5LjE0MSA5LjYzMjQxQzI5LjQ4NDMgOS43MzUzNCAyOS42ODY5IDEwLjA4NzQgMjkuNjA3OSAxMC40MzdMMjkuMDgwMSAxMi43NzE3QzM0LjIxNjEgMTQuODU4IDM3LjQyNjEgMTguNDAyIDM2LjA2NDMgMjQuNDI1NkwzNS43Mjg4IDI1LjkwOTdDMzQuMzkwOSAzMS45Mzc2IDI5Ljk0OTIgMzMuNzQyMSAyNC40MTIgMzMuNDE5M1pNMzEuOTYyOSAyNC43MDM5TDMyLjE1MTcgMjMuODY4N0MzMy40ODE0IDE4LjM0MzQgMjkuMDYwMSAxNi4yNzk3IDIzLjYwOTQgMTQuOTY3NkMxOC4wOTg4IDEzLjgwMTUgMTMuMjE5NiAxMy43NjI2IDEyLjA0MzIgMTkuMzIyNkwxMS44NTQ0IDIwLjE1NzhDMTAuNTE4OSAyNS43MDg0IDE0Ljk0MDMgMjcuNzcyMSAyMC40MTY1IDI5LjA5QzI1LjkwMTYgMzAuMjUwMyAzMC43ODA3IDMwLjI4OTMgMzEuOTYyOSAyNC43MDM5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";var nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF1GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjYuMTEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTExLTE2VDAxOjA1OjMxKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjM3ZmUzMDEtMjdjNC00ZWJlLTgxZGQtMWJhYjk2NGE5MzllIiB4bXBNTTpEb2N1bWVu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";var rt="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyLjcwNzcgMzIuNzUyMkwyNS4xNjg4IDMwLjUxNzRMMTkuNDgzMyAzMy45MDA4TDE1LjUxNjcgMzMuODk5MUw5LjgyNzkzIDMwLjUxNzRMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDQ4OUwyLjI5MjI1IDE2LjQ5OTNMMCA5LjI3MDk0TDIuMjkyMjUgMC4zMTIyNTZMMTQuMDY3NCA3LjMxNTU0SDIwLjkzMjZMMzIuNzA3NyAwLjMxMjI1NkwzNSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0wzNSAyNS4wNDg5TDMyLjcwNzcgMzIuNzUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTIuMjkzOTUgMC4zMTIyNTZMMTQuMDY5MSA3LjMyMDQ3TDEzLjYwMDggMTIuMTMwMUwyLjI5Mzk1IDAuMzEyMjU2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNOS44Mjk1OSAyNS4wNTIyTDE1LjAxMDYgMjguOTgxMUw5LjgyOTU5IDMwLjUxNzVWMjUuMDUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTE0LjU5NjYgMTguNTU2NUwxMy42MDA5IDEyLjEzMzNMNy4yMjY5MiAxNi41MDA5TDcuMjIzNjMgMTYuNDk5M1YxNi41MDI1TDcuMjQzMzUgMjAuOTk4M0w5LjgyODA5IDE4LjU1NjVIOS44Mjk3NEgxNC41OTY2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMzIuNzA3NyAwLjMxMjI1NkwyMC45MzI2IDcuMzIwNDdMMjEuMzk5MyAxMi4xMzAxTDMyLjcwNzcgMC4zMTIyNTZaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIyIDI1LjA1MjJMMTkuOTkxMiAyOC45ODExTDI1LjE3MjIgMzAuNTE3NVYyNS4wNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMjcuNzc2NiAxNi41MDI1SDI3Ljc3ODNIMjcuNzc2NlYxNi40OTkzTDI3Ljc3NSAxNi41MDA5TDIxLjQwMSAxMi4xMzMzTDIwLjQwNTMgMTguNTU2NUgyNS4xNzIyTDI3Ljc1ODYgMjAuOTk4M0wyNy43NzY2IDE2LjUwMjVaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik05LjgyNzkzIDMwLjUxNzVMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDUyMkg5LjgyNzkzVjMwLjUxNzVaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0xNC41OTQ3IDE4LjU1NDlMMTYuMDM0MSAyNy44NDA2TDE0LjAzOTMgMjIuNjc3N0w3LjIzOTc1IDIwLjk5ODRMOS44MjYxMyAxOC41NTQ5SDE0LjU5M0gxNC41OTQ3WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjUuMTcyMSAzMC41MTc1TDMyLjcwNzggMzIuNzUyMkwzNS4wMDAxIDI1LjA1MjJIMjUuMTcyMVYzMC41MTc1WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjAuNDA1MyAxOC41NTQ5TDE4Ljk2NTggMjcuODQwNkwyMC45NjA3IDIyLjY3NzdMMjcuNzYwMiAyMC45OTg0TDI1LjE3MjIgMTguNTU0OUgyMC40MDUzWiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMCAyNS4wNDg4TDIuMjkyMjUgMTYuNDk5M0g3LjIyMTgzTDcuMjM5OTEgMjAuOTk2N0wxNC4wMzk0IDIyLjY3NkwxNi4wMzQzIDI3LjgzODlMMTUuMDA4OSAyOC45NzZMOS44Mjc5MyAyNS4wNDcySDBWMjUuMDQ4OFoiIGZpbGw9IiNGRjhENUQiLz4KPHBhdGggZD0iTTM1LjAwMDEgMjUuMDQ4OEwzMi43MDc4IDE2LjQ5OTNIMjcuNzc4M0wyNy43NjAyIDIwLjk5NjdMMjAuOTYwNyAyMi42NzZMMTguOTY1OCAyNy44Mzg5TDE5Ljk5MTIgMjguOTc2TDI1LjE3MjIgMjUuMDQ3MkgzNS4wMDAxVjI1LjA0ODhaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yMC45MzI1IDcuMzE1NDNIMTcuNDk5OUgxNC4wNjczTDEzLjYwMDYgMTIuMTI1MUwxNi4wMzQyIDI3LjgzNEgxOC45NjU2TDIxLjQwMDggMTIuMTI1MUwyMC45MzI1IDcuMzE1NDNaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yLjI5MjI1IDAuMzEyMjU2TDAgOS4yNzA5NEwyLjI5MjI1IDE2LjQ5OTNINy4yMjE4M0wxMy41OTkxIDEyLjEzMDFMMi4yOTIyNSAwLjMxMjI1NloiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTEzLjE3IDIwLjQxOTlIMTAuOTM2OUw5LjcyMDk1IDIxLjYwNjJMMTQuMDQwOSAyMi42NzI3TDEzLjE3IDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTMyLjcwNzcgMC4zMTIyNTZMMzQuOTk5OSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0gyNy43NzgxTDIxLjQwMDkgMTIuMTMwMUwzMi43MDc3IDAuMzEyMjU2WiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMjEuODMzIDIwLjQxOTlIMjQuMDY5NEwyNS4yODUzIDIxLjYwNzlMMjAuOTYwNCAyMi42NzZMMjEuODMzIDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTE5LjQ4MTcgMzAuODM2MkwxOS45OTExIDI4Ljk3OTRMMTguOTY1OCAyNy44NDIzSDE2LjAzMjdMMTUuMDA3MyAyOC45Nzk0TDE1LjUxNjcgMzAuODM2MiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTkuNDgxNiAzMC44MzU5VjMzLjkwMjFIMTUuNTE2NlYzMC44MzU5SDE5LjQ4MTZaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik05LjgyOTU5IDMwLjUxNDJMMTUuNTIgMzMuOTAwOFYzMC44MzQ2TDE1LjAxMDYgMjguOTc3OEw5LjgyOTU5IDMwLjUxNDJaIiBmaWxsPSIjRTdFQkY2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIxIDMwLjUxNDJMMTkuNDgxNyAzMy45MDA4VjMwLjgzNDZMMTkuOTkxMSAyOC45Nzc4TDI1LjE3MjEgMzAuNTE0MloiIGZpbGw9IiNFN0VCRjYiLz4KPC9zdmc+Cg==";var ot="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4IDU2YzE1LjQ2NCAwIDI4LTEyLjUzNiAyOC0yOFM0My40NjQgMCAyOCAwIDAgMTIuNTM2IDAgMjhzMTIuNTM2IDI4IDI4IDI4WiIgZmlsbD0iIzFCNTNFNCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNyAyOGMwIDExLjU5OCA5LjQwMiAyMSAyMSAyMXMyMS05LjQwMiAyMS0yMVMzOS41OTggNyAyOCA3IDcgMTYuNDAyIDcgMjhabTE3LjIzNC02Ljc2NmEzIDMgMCAwIDAtMyAzdjcuNTMzYTMgMyAwIDAgMCAzIDNoNy41MzNhMyAzIDAgMCAwIDMtM3YtNy41MzNhMyAzIDAgMCAwLTMtM2gtNy41MzNaIiBmaWxsPSIjZmZmIi8+PC9zdmc+";var Zt="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",it=Zt;var at="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 ct="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 st="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0IiBjbGFzcz0id2ViM2ljb25zIj48ZyBjbGlwLXBhdGg9InVybCgjdHJ1c3RfX2EpIj48cGF0aCBmaWxsPSIjMDUwMEZGIiBkPSJNMjQgMEgwdjI0aDI0eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00LjggNi4zMTEgMTIgNHYxNmMtNS4xNDMtMi4xMzQtNy4yLTYuMjIyLTcuMi04LjUzM3ptMTQuNCAwTDEyIDR2MTZjNS4xNDMtMi4xMzQgNy4yLTYuMjIyIDcuMi04LjUzM3oiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJ0cnVzdF9fYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGgyNHYyNEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==";var lt="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iMTIiIGZpbGw9IiMxQzdERkMiLz4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iMTIiIGZpbGw9InVybCgjcGFpbnQwX3JhZGlhbF8xXzQ2KSIvPgo8cGF0aCBkPSJNMjYuNDIyNyAzMS40NzMxQzMzLjkxNzEgMjQuMTc1NiA0Ni4wODI5IDI0LjE3NTYgNTMuNTc3MyAzMS40NzMxTDU0LjQ3OTYgMzIuMzU4QzU0Ljg1OCAzMi43MjA3IDU0Ljg1OCAzMy4zMTU1IDU0LjQ3OTYgMzMuNjc4Mkw1MS4zOTQ1IDM2LjY4MTNDNTEuMjA1MyAzNi44Njk5IDUwLjg5OTcgMzYuODY5OSA1MC43MTA1IDM2LjY4MTNMNDkuNDczNiAzNS40NzcyQzQ0LjIzNDcgMzAuMzg1IDM1Ljc2NTMgMzAuMzg1IDMwLjUyNjQgMzUuNDc3MkwyOS4yMDIxIDM2Ljc2ODRDMjkuMDEzIDM2Ljk1NyAyOC43MDc0IDM2Ljk1NyAyOC41MTgyIDM2Ljc2ODRMMjUuNDMzMSAzMy43NjUzQzI1LjA1NDcgMzMuNDAyNiAyNS4wNTQ3IDMyLjgwNzggMjUuNDMzMSAzMi40NDUxTDI2LjQyMjcgMzEuNDczMVpNNTkuOTY1OCAzNy42ODI0TDYyLjcxNjIgNDAuMzUxOEM2My4wOTQ2IDQwLjcxNDUgNjMuMDk0NiA0MS4zMDkzIDYyLjcxNjIgNDEuNjcyTDUwLjMzMjIgNTMuNzI4QzQ5Ljk1MzggNTQuMDkwNyA0OS4zNDI2IDU0LjA5MDcgNDguOTc4OCA1My43MjhMNDAuMTg5MiA0NS4xNjg0QzQwLjEwMTkgNDUuMDgxMyAzOS45NDE4IDQ1LjA4MTMgMzkuODU0NSA0NS4xNjg0TDMxLjA2NDkgNTMuNzI4QzMwLjY4NjUgNTQuMDkwNyAzMC4wNzUzIDU0LjA5MDcgMjkuNzExNSA1My43MjhMMTcuMjgzOCA0MS42NzJDMTYuOTA1NCA0MS4zMDkzIDE2LjkwNTQgNDAuNzE0NSAxNy4yODM4IDQwLjM1MThMMjAuMDM0MiAzNy42ODI0QzIwLjQxMjUgMzcuMzE5NyAyMS4wMjM3IDM3LjMxOTcgMjEuMzg3NSAzNy42ODI0TDMwLjE3NzIgNDYuMjQyQzMwLjI2NDUgNDYuMzI5IDMwLjQyNDUgNDYuMzI5IDMwLjUxMTkgNDYuMjQyTDM5LjMwMTUgMzcuNjgyNEMzOS42Nzk5IDM3LjMxOTcgNDAuMjkxIDM3LjMxOTcgNDAuNjU0OSAzNy42ODI0TDQ5LjQ0NDUgNDYuMjQyQzQ5LjUzMTggNDYuMzI5IDQ5LjY5MTkgNDYuMzI5IDQ5Ljc3OTIgNDYuMjQyTDU4LjU2ODggMzcuNjgyNEM1OC45NzYzIDM3LjMxOTcgNTkuNTg3NSAzNy4zMTk3IDU5Ljk2NTggMzcuNjgyNFoiIGZpbGw9IndoaXRlIi8+CjxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MF9yYWRpYWxfMV80NiIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDI0Nzk1NSA0MC4wMDEyKSBzY2FsZSg4MCkiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNUQ5REY2Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNkZGRiIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=";var Gt="data:image/webp;base64,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",ut=Gt;var Rt="data:image/webp;base64,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",yt=Rt;var Bt="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48ZyBjbGlwLXBhdGg9InVybCgjc29sZmxhcmVfX2EpIj48cGF0aCBmaWxsPSIjRkZFRjQ2IiBkPSJNMjQgMEgwdjI0aDI0eiIvPjxwYXRoIGZpbGw9IiMwMjA1MEEiIGQ9Im0xMi4wNTYgMTIuNjM2IDEuMDk4LTEuMDY2IDIuMDQ3LjY3M2MxLjM0LjQ0OSAyLjAxIDEuMjcxIDIuMDEgMi40MyAwIC44NzgtLjMzNSAxLjQ1OC0xLjAwNSAyLjIwNWwtLjIwNS4yMjUuMDc1LS41MjRjLjI5Ny0xLjkwNi0uMjYtMi43MjktMi4xMDMtMy4zMjd6TTkuMyA2LjExMmw1LjU4NCAxLjg3LTEuMjEgMS4xNTgtMi45MDMtLjk3MmMtMS4wMDUtLjMzNi0xLjM0LS44NzgtMS40Ny0yLjAxOHptLS4zMzUgOS40OTYgMS4yNjYtMS4yMTYgMi4zODIuNzg2YzEuMjQ3LjQxIDEuNjc1Ljk1MyAxLjU0NSAyLjMxN3ptLTEuNi01LjQyMWMwLS4zNTUuMTg2LS42OTIuNTAyLS45NzIuMzM1LjQ4Ni45MTIuOTE2IDEuODI0IDEuMjE1bDEuOTczLjY1NC0xLjA5OCAxLjA2Ni0xLjkzNS0uNjM2Yy0uODk0LS4yOTktMS4yNjYtLjc0OC0xLjI2Ni0xLjMyN00xMy4yMSAyMGM0LjA5NC0yLjcyOSA2LjI5LTQuNTggNi4yOS02Ljg2IDAtMS41MTQtLjg5My0yLjM1NS0yLjg2Ni0zLjAxbC0xLjQ4OS0uNTA0IDQuMDc2LTMuOTI1LS44MTktLjg3OS0xLjIxIDEuMDY2TDExLjQ4IDRjLTEuNzY4LjU4LTQuMDAxIDIuMjgtNC4wMDEgMy45ODEgMCAuMTg3LjAxOC4zNzQuMDc0LjU4LTEuNDcuODQtMi4wNjYgMS42MjYtMi4wNjYgMi41OTggMCAuOTE2LjQ4NCAxLjgzMiAyLjAyOSAyLjMzNmwxLjIyOC40MTJMNC41IDE4bC44MTkuODc4IDEuMzIxLTEuMjE0eiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9InNvbGZsYXJlX19hIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDI0djI0SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+",dt=Bt;var qt="data:image/webp;base64,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",Mt=qt;var Ft="data:image/webp;base64,UklGRoQDAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSEIAAAABZ6Aqsg06PfeBFhTwp4eIiO9JAFqgDkpi24oqfJYEDE1BYnFoFH6PQLMb4Ef0fwLSh5eMq7SmgFL/ddqYtCcxsD1WUDggHAMAADAWAJ0BKoAAgAA+bTaVR6QjIiEqFmgwgA2JQBrjvkex/mORM4ijCO4OaOcB4lvSj8xXnF9IB/WuoY9AD9ZvTb9lv9t/2k9ozVd4X5WzBuqgZcQbMzL39biv4/sPc7xOoYvhJHo23KgOlP+c+yXvcH13owJyPDoq7y50x3JBthvJRoRyksngI8TAN9pWTOaIkXdpLWMVEy89M91VKMq815lMLz8HFhZ4XtFGM2aIzuqZuVVhyc6r9IgGMAD+/KFwXOCQSQ9ryjC41iIU+x7fxryCxallV7uXiPxdW7zbeLBQ351xqzs44tk3+t0b8A/KlEzOpl5y+1FhbBPuZsnr4/Z46914Q5womQkrfJfwSs+vDlfdJayjqpubSuXhqaVXD5PNpOzOvwLkppF/6z5wUxKxfjHL8qs50UF/W0TXKsYRe1peOBA/Hlpw9NYCy1yzO0AsgwQ4vl2SkUU4Ur4J7qlU+Ru3VCZf9paZ5YrooPtuZ9Fafd7zr9k4HnNw89Qup9rqdusYvnoyXuc92GVOsZ1uIZlbMcFUl09LHPLZpEejDRbC4JX1Q9hdf7di4hax2BCaC1LC8nE6eQ7cGsKGM+A9TmTSIaWkkm+ePgmHH6z7abr4NNmx7xjqZrYOmBZyctY/kLXdG1WQfkPmbp276XDZocbirca8okm/P+JQXfpBsSRL3Je6T608k0tui8loC/pHCq2VmW5WLz9yIgVuwppRQ9wIUqvaXHNIz/TkSxTiYTjYZJP3CU11TXQujaQkfUu4uEwJ+nuhTCb7z0P8CQtvREirvrT9mwq8HSHXWdq6fzhLWKH5vSEQDBQjxd8dg6YsIeNLmlcdtlZTQ70Mq41FW/+f0T1hn8v7AP+o9//gmsSR8ys+PfAnh6IbY7tqrXXSRz71PzTBFdw8Fy/nPpP50iooJWaORiY4o+rQrh9/71uCL299F4JXVeLzV8H8ojGEmsFPG4TMfIsyiJ+nLwJ6kUXc/ijRDGDVUa3CVLG3xH+wecr+NwlT6rvrbYTmNsOp/sS8Fosv1k0X7Xz3048DRkF0AAEHwlMAAAA=",gt=Ft;var Vt={ii:$,nfid:tt,oisy:et,plug:nt,metamask:rt,coinbase:ot,rainbow:it,brave:ut,phantom:yt,solflare:dt,backpack:gt,rabby:Mt,ledger:at,okx:ct,trust:st,walletconnect:lt};function U(a,t){let e=(a||"").toLowerCase();return Vt[e]||t||null}var wt=!1;var H=[1,8453,84532],J=[1,8453,84532];async function Ht(a){return new Promise((t,e)=>{try{let r=typeof document<"u"?document:null;if(!r)return t();let i=Array.from(r.getElementsByTagName("script")).find(c=>c&&c.src===a);if(i&&String(i.type||"").toLowerCase()!=="module")return t();let n=r.createElement("script");n.src=a,n.async=!0,n.onload=()=>t(),n.onerror=()=>e(new Error("Failed to load script: "+a)),r.head.appendChild(n)}catch{t()}})}async function Jt(a){for(let t of a)try{return await Ht(t),!0}catch{}return!1}function b(a,t){let e=t&&typeof t.globalVar=="string"&&t.globalVar.trim()?t.globalVar.trim():null,r=[e?a?.[e]?.default:null,e?a?.[e]:null,a?.["@walletconnect/ethereum-provider"]?.default,a?.["@walletconnect/ethereum-provider"],a?.WalletConnect?.EthereumProvider?.default,a?.WalletConnect?.EthereumProvider,a?.EthereumProvider?.default,a?.EthereumProvider,a?.WalletConnectEthereumProvider?.default,a?.WalletConnectEthereumProvider,a?.WalletConnectProvider?.default,a?.WalletConnectProvider].filter(Boolean);for(let o of r)if(typeof o=="function"||o&&typeof o.init=="function")return o;return null}async function X(a,t=1500,e=50){let r=Date.now();return new Promise((o,i)=>{let n=()=>{try{let c=a();if(c)return o(c)}catch{}if(Date.now()-r>=t)return o(null);setTimeout(n,e)};n()})}async function Xt(){}function pt(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}async function K(){let a=typeof window<"u"?window:{};if(!(a?.QRCode&&typeof a.QRCode?.toCanvas=="function")){try{let t=await import("qrcode"),e=t&&(t.default||t)||null;if(e&&typeof e.toCanvas=="function"){a.QRCode=e;return}}catch{}await X(()=>{let t=typeof window<"u"?window:{};return t?.QRCode&&typeof t.QRCode?.toCanvas=="function"},2e3,50)}}async function Kt(a){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=[],o=(l,u)=>{try{let w=setTimeout(()=>{try{let y=typeof document<"u"?document:null;if(y&&y.visibilityState==="hidden")return;l()}catch{}},u);r.push(w)}catch{}},i=()=>{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"&&i()}catch{}};try{document.addEventListener("visibilitychange",n)}catch{}let c=l=>{let u=encodeURIComponent(l),w=`https://go.cb-w.com/wc?uri=${u}`,y=`coinbasewallet://wc?uri=${u}`;e(w),o(()=>e(y),600),o(()=>{i();try{document.removeEventListener("visibilitychange",n)}catch{}},4e3)},s=(l,u,w)=>{let y=t.createElement("button");y.style.display="flex",y.style.alignItems="center",y.style.gap="8px",y.style.padding="8px 12px",y.style.borderRadius="10px",y.style.border="1px solid #444",y.style.background="#2a2a2a",y.style.color="#fff",y.style.cursor="pointer",y.style.width="100%",y.style.justifyContent="center";let g=t.createElement("img"),p=u?U(u):null;p&&(g.src=p,g.alt=u||"wallet",g.style.width="18px",g.style.height="18px",g.style.display="block",y.appendChild(g));let I=t.createElement("span");return I.textContent=l,I.style.fontSize="13px",y.appendChild(I),y.onclick=f=>{try{f.preventDefault()}catch{}try{w()}catch{}},y},M=t.getElementById("icpay-wc-overlay");if(!M){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 u=t.createElement("div");u.style.background="#1a1a1a",u.style.border="1px solid #333",u.style.borderRadius="16px",u.style.padding="16px",u.style.width="320px",u.style.boxShadow="0 10px 30px rgba(0,0,0,0.4)",u.style.display="flex",u.style.flexDirection="column",u.style.alignItems="center";let w=t.createElement("div");w.textContent="Connect with your wallet",w.style.color="#fff",w.style.fontSize="16px",w.style.marginBottom="12px";let y=t.createElement("div");y.id="icpay-wc-qr-container",y.style.width="260px",y.style.height="260px",y.style.background="#fff",y.style.borderRadius="8px";let g=t.createElement("canvas");g.id="icpay-wc-qr-canvas",g.style.width="260px",g.style.height="260px",g.style.display="block",g.style.borderRadius="8px";let p=pt();if(p){let f=t.createElement("div");f.style.display="flex",f.style.flexDirection="column",f.style.alignItems="stretch",f.style.gap="8px",f.style.width="100%";let v=()=>{try{w.textContent="Waiting for approval in your wallet...",f.style.pointerEvents="none",f.style.opacity="0.7"}catch{}};f.appendChild(s("MetaMask with WalletConnect","metamask",()=>{v(),e(`https://metamask.app.link/wc?uri=${encodeURIComponent(a)}`)})),f.appendChild(s("OKX Wallet with WalletConnect","okx",()=>{v(),e(`okx://wallet/wc?uri=${encodeURIComponent(a)}`)})),u.appendChild(f)}let I=t.createElement("button");I.textContent="Close",I.style.marginTop="12px",I.style.background="#2a2a2a",I.style.color="#fff",I.style.border="1px solid #444",I.style.padding="6px 10px",I.style.borderRadius="8px",I.onclick=()=>{try{let f=t.getElementById("icpay-wc-overlay");f&&f.parentNode&&f.parentNode.removeChild(f)}catch{}},u.appendChild(w),p||(y.appendChild(g),u.appendChild(y)),u.appendChild(I),l.appendChild(u),t.body.appendChild(l),M=l}let d=t.getElementById("icpay-wc-qr-container");if(!pt()&&d){await K();let l=typeof window<"u"?window:{};if(l?.QRCode?.toCanvas)try{d.innerHTML="";let u=t.createElement("canvas");u.id="icpay-wc-qr-canvas",u.style.width="260px",u.style.height="260px",u.style.display="block",u.style.borderRadius="8px",d.appendChild(u),l.QRCode.toCanvas(u,a,{width:260,margin:2})}catch{}}}catch{}}function h(){try{let t=(typeof document<"u"?document:null)?.getElementById("icpay-wc-overlay");t&&t.parentNode&&t.parentNode.removeChild(t)}catch{}}function _t(a){try{let t=typeof document<"u"?document:null;if(!t)return;let e=t.getElementById("icpay-wc-overlay");if(!e){let o=t.createElement("div");o.id="icpay-wc-overlay",o.style.position="fixed",o.style.inset="0",o.style.background="rgba(0,0,0,0.55)",o.style.display="flex",o.style.alignItems="center",o.style.justifyContent="center",o.style.zIndex="999999";let i=t.createElement("div");i.style.background="#1a1a1a",i.style.border="1px solid #333",i.style.borderRadius="16px",i.style.padding="16px",i.style.width="320px",i.style.boxShadow="0 10px 30px rgba(0,0,0,0.4)",i.style.display="flex",i.style.flexDirection="column",i.style.alignItems="center";let n=t.createElement("div");n.textContent="Connect with your wallet",n.style.color="#fff",n.style.fontSize="16px",n.style.marginBottom="12px";let c=t.createElement("div");c.id="icpay-wc-qr-container",c.style.width="260px",c.style.height="260px",c.style.background="#fff",c.style.borderRadius="8px";let s=t.createElement("button");s.textContent="Close",s.style.marginTop="12px",s.style.background="#2a2a2a",s.style.color="#fff",s.style.border="1px solid #444",s.style.padding="6px 10px",s.style.borderRadius="8px",s.onclick=()=>{try{let M=t.getElementById("icpay-wc-overlay");M&&M.parentNode&&M.parentNode.removeChild(M)}catch{}},i.appendChild(n),i.appendChild(c),i.appendChild(s),o.appendChild(i),t.body.appendChild(o),e=o}let r=t.getElementById("icpay-wc-qr-container");if(r){r.innerHTML="";let o=t.createElement("img");o.src=a,o.alt="WalletConnect QR",o.style.width="260px",o.style.height="260px",o.style.display="block",o.style.borderRadius="8px",r.appendChild(o)}}catch{}}var x=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._preGenerateMode=!1;this.preGeneratedQrDataUrl=null;this.preGeneratedUri=null;this.pendingConnectPromise=null;this._wcProviderFromPreGenerate=null;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(o=>o&&(o.isWalletConnect||o?.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:null}async isInstalled(){try{if(this.getInjectedWcProvider())return!0;let e=!!b(typeof window<"u"?window:{}),r=this.getAdapterConfig(),o=!!(r.projectId||r.projectID);return!!(e&&o)}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 Xt(),!b(e,t)){if(!wt){let r=t&&(t.umdUrls||t.umdUrl)||null,o=[];try{let M=typeof document<"u"?document:null;if(M){let d=Array.from(M.getElementsByTagName("script")),A=l=>{let u=l.toLowerCase();return u.includes("icpay-embed")||u.includes("widget.icpay")||u.includes("icpay-widget")};d.forEach(l=>{try{let u=String(l?.src||"");if(!u||!A(u))return;let w=u.lastIndexOf("/");if(w>0){let y=u.slice(0,w);o.push(`${y}/wc/index.umd.js`,`${y}/index.umd.js`)}}catch{}})}}catch{}let i=typeof window<"u"&&window.location&&window.location.origin?window.location.origin:"",n=i?[`${i}/wp-content/plugins/icpay-payments/assets/js/wc/index.umd.js`,`${i}/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()]:[],...o,...n];wt=await Jt(c)}await X(()=>b(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=i=>{if(!this.isMobileBrowser()||!i)return!1;let n=i.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(i,n,c){return n==="request"?async function(s){try{let M=s&&(s.method||typeof s=="object"&&s?.method);if(e(M)){r.openWalletAppIfPossible();try{await new Promise(d=>setTimeout(d,50))}catch{}}}catch{}return i.request.apply(i,arguments)}:Reflect.get(i,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 o=b(t,e);if(o||(o=await X(()=>b(typeof window<"u"?window:{},e),4e3,100)),!o)return null;try{this.config?.debug&&console.debug("[ICPay WC] Using ctor",{isFn:typeof o=="function",hasInit:!!(o&&typeof o.init=="function"),name:o&&(o.name||o.constructor?.name)||"unknown"})}catch{}let i=String(e.projectId||e.projectID),n=H.slice(),c=J.slice(),s=["eth_requestAccounts","eth_accounts","eth_chainId","personal_sign","eth_sign","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","wallet_switchEthereumChain","wallet_addEthereumChain"],M=["accountsChanged","chainChanged","connect","disconnect","message"],d=(()=>{try{let p=String(t?.location?.origin||"").trim();return p&&/^https?:\/\//.test(p)?p:"https://widget.icpay.org"}catch{return"https://widget.icpay.org"}})(),A=(()=>{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"}})(),u=(()=>{try{return String(e?.metadata?.url||d).trim()||d}catch{return d}})(),w=(()=>{try{let p=(Array.isArray(e?.metadata?.icons)?e?.metadata?.icons:Array.isArray(e?.icons)?e?.icons:null)||null,f=(p&&p.length>0?p:[d+"/favicon.ico",d+"/apple-touch-icon.png"]).filter(v=>typeof v=="string"&&/^https?:\/\//.test(v));return f.length>0?f:[d+"/favicon.ico"]}catch{return[d+"/favicon.ico"]}})(),y={name:A,description:l,url:u,icons:w},g=typeof o.init=="function"?await o.init({projectId:i,chains:n,optionalChains:c,showQrModal:!1,metadata:y,relayUrl:"wss://relay.walletconnect.com",methods:s,optionalMethods:s,events:M,optionalEvents:M}):new o({projectId:i,chains:n,optionalChains:c,showQrModal:!1,metadata:y,relayUrl:"wss://relay.walletconnect.com",methods:s,optionalMethods:s,events:M,optionalEvents:M});try{await K(),g.on?.("display_uri",p=>{try{this.lastDisplayUri=p}catch{}if(!this._preGenerateMode)try{Kt(p)}catch{}}),g.on?.("disconnect",()=>{try{h()}catch{}})}catch{}return g}catch{return null}}async getOrCreateQrDataUrl(t){if(this.preGeneratedQrDataUrl)return this.preGeneratedQrDataUrl;this._preGenerateMode=!0;try{let e=await this.initGlobalProvider();if(!e)return null;await K();let r=typeof window<"u"?window:{};return r?.QRCode?.toCanvas?await new Promise((o,i)=>{let n=!1,c=null,s=d=>{n||(n=!0,c!=null&&clearTimeout(c),o(d))},M=d=>{try{this.preGeneratedUri=d;let l=(typeof document<"u"?document:null)?.createElement("canvas");if(!l){s(null);return}r.QRCode.toCanvas(l,d,{width:260,margin:2}),this.preGeneratedQrDataUrl=l.toDataURL("image/png"),this._wcProviderFromPreGenerate=e,s(this.preGeneratedQrDataUrl)}catch{s(null)}};c=setTimeout(()=>s(null),15e3);try{e.once?.("display_uri",M);let d=e.connect?.({chains:H.slice(),optionalChains:J.slice()});this.pendingConnectPromise=d&&typeof d.then=="function"?d.then(async()=>{try{let A=await e.request?.({method:"eth_accounts"}),l=Array.isArray(A)&&A[0]||"";if(l)return{owner:l,principal:l,connected:!0}}catch{}throw new Error("No account returned by WalletConnect")}):null,this.pendingConnectPromise&&this.pendingConnectPromise.then(A=>{this.wcProvider=this._wcProviderFromPreGenerate,this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);try{t?.onConnected?.(A)}catch{}}).catch(()=>{}),d&&typeof d.catch=="function"&&d.catch(()=>{})}catch{s(null)}}):null}finally{this._preGenerateMode=!1}}async connect(){if(this.pendingConnectPromise&&this.preGeneratedQrDataUrl&&this._wcProviderFromPreGenerate){this.wcProvider=this._wcProviderFromPreGenerate,this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);try{let n=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0){let c=n[0]||"";return{owner:c,principal:c,connected:!0}}}catch{}try{_t(this.preGeneratedQrDataUrl)}catch{}try{this.wcProviderProxy.on?.("connect",async()=>{try{let n=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0)try{h()}catch{}}catch{}})}catch{}try{await this.pendingConnectPromise;let n=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0){try{h()}catch{}let c=n[0]||"";return{owner:c,principal:c,connected:!0}}}catch{}let i=Date.now();for(;Date.now()-i<6e4;){try{let n=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(n)&&n.length>0){try{h()}catch{}let c=n[0]||"";return{owner:c,principal:c,connected:!0}}}catch{}await new Promise(n=>setTimeout(n,500))}try{h()}catch{}throw new Error("No account returned by WalletConnect")}try{let i=[];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"))&&i.push(c)}i.forEach(n=>{try{localStorage.removeItem(n)}catch{}})}catch{}let t=this.getInjectedWcProvider();if(t){this.wcProvider=t,this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);let i=await this.wcProviderProxy.request({method:"eth_requestAccounts"}),n=Array.isArray(i)&&i[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 s=e?.session?.peer?.metadata?.redirect||e?.session?.peer?.metadata?.redirects||null;s&&(s.native||s.universal)&&(this.wcRedirect={native:s.native,universal:s.universal})}catch{}try{await this.wcProvider.disconnect?.()}catch{}this.wcProviderProxy=this.wrapProviderForMobileWake(this.wcProvider);try{await this.wcProviderProxy.connect?.({chains:H.slice(),optionalChains:J.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 s=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(s)&&s.length>0)try{h()}catch{}}catch{}})}catch{}let n=await(async(s=6e4)=>{let M=Date.now();return new Promise(async(d,A)=>{let l=!1,u=(w,y)=>{if(!l){l=!0;try{h()}catch{}w&&w.length>0?d(w):A(y||new Error("No account returned by WalletConnect"))}};try{let w=g=>{let p=Array.isArray(g)?g:[];p.length>0&&u(p)},y=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 p=await this.wcProviderProxy.request?.({method:"eth_accounts"}),I=!(Array.isArray(p)&&p.length>0)}catch{}}}catch{}};this.wcProviderProxy.on?.("accountsChanged",w);try{document.addEventListener("visibilitychange",y)}catch{}for(;!l&&Date.now()-M<s;){try{let g=await this.wcProviderProxy.request?.({method:"eth_accounts"});if(Array.isArray(g)&&g.length>0){this.wcProviderProxy.removeListener?.("accountsChanged",w);try{document.removeEventListener("visibilitychange",y)}catch{}return u(g)}}catch{}await new Promise(g=>setTimeout(g,500))}this.wcProviderProxy.removeListener?.("accountsChanged",w);try{document.removeEventListener("visibilitychange",y)}catch{}u(null,new Error("Timed out waiting for WalletConnect approval"))}catch(w){u(null,w)}})})(),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{h()}catch{}this.preGeneratedQrDataUrl=null,this.preGeneratedUri=null,this.pendingConnectPromise=null,this._wcProviderFromPreGenerate=null;try{let e=[];for(let r=0;r<localStorage.length;r++){let o=localStorage.key(r);o&&(o==="walletconnect"||o.startsWith("wc@")||o.startsWith("@walletconnect/")||o.includes("WALLETCONNECT"))&&e.push(o)}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 At(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function N(){try{let a=typeof window<"u"?window:{};if(a.coinbaseWalletExtension)return a.coinbaseWalletExtension;let t=a.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)||At()&&t&&typeof t.request=="function"?t:null}catch{return null}}var Q=class{constructor(t){this.id="coinbase";this.label="Coinbase Wallet";this.config=t.config||{}}getEvmProvider(){return N()}async isInstalled(){try{return!!N()}catch{return!1}}async isConnected(){try{let t=N();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=N();if(!t){if(typeof window<"u"&&At()){try{let n=String(window.location?.href||""),c=`cbwallet://dapp?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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=N()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by Coinbase Wallet");return{owner:i,principal:i,connected:!0}}async disconnect(){try{let t=N();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=N();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 ft(){try{let a=typeof navigator<"u"?navigator:window?.navigator;return!!(a&&(a.brave||String(a.userAgent||"").toLowerCase().includes("brave")))}catch{return!1}}function $t(a){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 o=e.providers.find(i=>i&&(i.isBraveWallet||i?.walletMeta?.name&&String(i.walletMeta.name).toLowerCase().includes("brave")));if(o)return o;if(a&&ft()){let i=e.providers.find(n=>n&&typeof n.request=="function"&&!n.isMetaMask&&!n.isCoinbaseWallet&&!n.isRabby&&!n.isOkxWallet&&!n.isOKExWallet&&!n.isPhantom);return i||e.providers[0]||null}return null}return e.isBraveWallet||(e?.walletMeta?.name?String(e.walletMeta.name).toLowerCase():"").includes("brave")||a&&ft()&&typeof e.request=="function"&&!e.isMetaMask&&!e.isCoinbaseWallet&&!e.isRabby&&!e.isOkxWallet&&!e.isOKExWallet&&!e.isPhantom?e:null}catch{return null}}var W=class{constructor(t){this.id="brave";this.label="Brave Wallet";this.config=t.config||{}}getProvider(){return $t(!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 It(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function m(){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||It()&&t&&typeof t.request=="function"?t:null}catch{return null}}var Y=class{constructor(t){this.id="rainbow";this.label="Rainbow";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"&&It()){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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=m()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by Rainbow");return{owner:i,principal:i,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 ht(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function j(){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||ht()&&t&&typeof t.request=="function"?t:null}catch{return null}}var Z=class{constructor(t){this.id="rabby";this.label="Rabby";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"&&ht()){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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=j()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by Rabby");return{owner:i,principal:i,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 Nt(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function L(){try{let a=typeof window<"u"?window:{};return a.phantom&&a.phantom.solana?a.phantom.solana:a.solana?a.solana:null}catch{return null}}var G=class{constructor(t){this.id="phantom";this.label="Phantom";this.config=t.config||{}}getEvmProvider(){return null}getSolanaProvider(){return L()}async isInstalled(){try{return Nt()?!0:!!L()}catch{return!1}}async isConnected(){try{let t=L();if(!t)return!1;if(t.isConnected&&t.publicKey)return!0;try{return await t.connect(),!!t.publicKey}catch{return!1}}catch{return!1}}async connect(){let t=L();if(!t){if(typeof window<"u"&&Nt()){let e=String(window.location?.href||""),r=String(window.location?.origin||e.replace(/\/[^/]*$/,"")||""),o=`https://phantom.app/ul/browse/${encodeURIComponent(e)}?ref=${encodeURIComponent(r)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"phantom",url:o}}))}catch{}try{window.location.href=o}catch{try{window.open(o,"_self","noopener,noreferrer")}catch{}}throw new Error("Opening Phantom\u2026 If nothing happens, install Phantom and try again.")}throw new Error("Phantom (Solana) not available")}try{let e=await t.connect(),r=String(e?.publicKey||t.publicKey||"");if(!r)throw new Error("No account returned by Phantom");return{owner:r,principal:r,connected:!0}}catch(e){throw e&&(e.code===4001||e.code==="4001")?new Error("Connection request was rejected"):new Error(e?.message||"Phantom connection failed")}}async disconnect(){try{let t=L();if(!t)return;try{await t.disconnect?.()}catch{}try{t.removeAllListeners?.("accountChanged")}catch{}try{t.removeAllListeners?.("connect")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=L();return t&&t?.publicKey?String(t.publicKey):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 a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function jt(a){try{let r=globalThis.Buffer;if(r)return new Uint8Array(r.from(a,"base64"))}catch{}let t=globalThis?.atob?globalThis.atob(a):"",e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}function C(){try{let t=(typeof window<"u"?window:{}).solflare;return t?{isSolflare:!0,get publicKey(){return t.publicKey},get isConnected(){return t.isConnected},connect:(...r)=>t.connect?t.connect(...r):Promise.resolve(),disconnect:(...r)=>t.disconnect?t.disconnect(...r):Promise.resolve(),on:(...r)=>t.on?t.on(...r):void 0,off:(...r)=>t.off?t.off(...r):void 0,removeAllListeners:(...r)=>t.removeAllListeners?t.removeAllListeners(...r):void 0,request:async r=>{if(r?.method==="signAndSendTransaction"&&typeof t.signAndSendTransaction=="function"){let i=r.params||{};if(i?.transaction!=null){let n=typeof i.transaction=="string"?jt(i.transaction):i.transaction?.byteLength!=null?i.transaction:new Uint8Array(i.transaction);if(n.length>0){let c={serialize:()=>n};return await t.signAndSendTransaction(c)}}if(typeof t.request=="function")return t.request(r);throw new Error("Unsupported method")}if((r?.method==="signTransaction"||r?.method==="solana:signTransaction")&&typeof t.signTransaction=="function"){let i=r.params||{};if(i?.transaction!=null){let n=typeof i.transaction=="string"?jt(i.transaction):i.transaction?.byteLength!=null?i.transaction:new Uint8Array(i.transaction||[]);if(n.length>0){let c={serialize:()=>n};return await t.signTransaction(c)}}return null}if(typeof t.request=="function")return t.request(r);throw new Error("Unsupported method")}}:null}catch{return null}}var R=class{constructor(t){this.id="solflare";this.label="Solflare";this.config=t.config||{}}getEvmProvider(){return null}getSolanaProvider(){return C()}async isInstalled(){try{return mt()?!0:!!C()}catch{return!1}}async isConnected(){try{let t=C();if(!t)return!1;if(t.isConnected&&t.publicKey)return!0;try{return await t.connect(),!!t.publicKey}catch{return!1}}catch{return!1}}async connect(){let t=C();if(!t){if(typeof window<"u"&&mt()){let e=String(window.location?.href||""),r=`https://solflare.com/ul/v1/browse/${encodeURIComponent(e)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"solflare",url:r}}))}catch{}try{window.location.href=r}catch{try{window.open(r,"_self","noopener,noreferrer")}catch{}}throw new Error("Opening Solflare\u2026 If nothing happens, install Solflare and try again.")}throw new Error("Solflare (Solana) not available")}try{let e=await t.connect(),r=String(e?.publicKey||t.publicKey||"");if(!r)throw new Error("No account returned by Solflare");return{owner:r,principal:r,connected:!0}}catch(e){throw e&&(e.code===4001||e.code==="4001")?new Error("Connection request was rejected"):new Error(e?.message||"Solflare connection failed")}}async disconnect(){try{let t=C();if(!t)return;try{await t.disconnect?.()}catch{}try{t.removeAllListeners?.("accountChanged")}catch{}try{t.removeAllListeners?.("connect")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=C();return t&&t?.publicKey?String(t.publicKey):null}catch{return null}}getActor(t){throw new Error("Solana wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function Dt(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function D(){try{let a=typeof window<"u"?window:{},t=a.okxwallet;if(t&&(t.isOkxWallet||t.ethereum))return t.ethereum||t;let e=a.ethereum;if(e&&Array.isArray(e.providers)){let r=e.providers.find(o=>o&&(o.isOkxWallet||o?.provider?.isOkxWallet));if(r)return r}return e&&(e.isOkxWallet||e?.provider?.isOkxWallet)||Dt()&&e&&typeof e.request=="function"?e:null}catch{return null}}var B=class{constructor(t){this.id="okx";this.label="OKX Wallet";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"&&Dt()){try{let n=String(window.location?.href||""),c=`okx://wallet/dapp/url?dappUrl=${encodeURIComponent(n)}`,s=`https://web3.okx.com/download?deeplink=${encodeURIComponent(c)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"okx",url:s}}))}catch{}try{window.location.href=s}catch{try{window.open(s,"_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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=D()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by OKX Wallet");return{owner:i,principal:i,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 Tt(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function T(){try{let a=typeof window<"u"?window:{};if(a.trustwallet?.ethereum)return a.trustwallet.ethereum;if(a.trustWallet?.ethereum)return a.trustWallet.ethereum;if(a.trustwallet&&typeof a.trustwallet.request=="function")return a.trustwallet;if(a.trustWallet&&typeof a.trustWallet.request=="function")return a.trustWallet;let t=a.ethereum;if(t&&Array.isArray(t.providers)){let r=t.providers.find(o=>o&&(o.isTrust||o?.isTrustWallet));if(r)return r}if(t&&(t.isTrust||t?.isTrustWallet))return t;let e=String((typeof navigator<"u"?navigator:a?.navigator)?.userAgent||"").toLowerCase();return Tt()&&(e.includes("trust")||e.includes("trustwallet"))&&t&&typeof t.request=="function"?t:null}catch{return null}}var q=class{constructor(t){this.id="trust";this.label="Trust Wallet";this.config=t.config||{}}getEvmProvider(){return T()}async isInstalled(){try{return!!T()}catch{return!1}}async isConnected(){try{let t=T();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=T();if(!t){if(typeof window<"u"&&Tt()){try{let n=String(window.location?.href||""),c=`https://link.trustwallet.com/open_url?coin_id=60&url=${encodeURIComponent(n)}`;try{window.dispatchEvent(new CustomEvent("icpay-sdk-wallet-deeplink",{detail:{wallet:"trust",url:c}}))}catch{}try{window.location.href=c}catch{try{window.open(c,"_self","noopener,noreferrer")}catch{}}}catch{}throw new Error("Opening Trust Wallet\u2026 If nothing happens, install Trust Wallet and try again.")}throw new Error("Trust 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[]},o=[];for(let n=0;n<3&&o.length===0;n++)t=T()||t,o=await r(),o.length===0&&await e(300);let i=Array.isArray(o)&&o[0]||"";if(!i)throw new Error("No account returned by Trust Wallet");return{owner:i,principal:i,connected:!0}}async disconnect(){try{let t=T();if(!t)return;try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=T();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 zt(){try{let a=typeof navigator<"u"?navigator:window?.navigator,t=String(a?.userAgent||"").toLowerCase();return/iphone|ipad|ipod|android|mobile|windows phone/.test(t)}catch{return!1}}function z(){try{let a=typeof window<"u"?window:{},t=r=>{try{let n=globalThis.Buffer;if(n)return new Uint8Array(n.from(r,"base64"))}catch{}let o=globalThis?.atob?globalThis.atob(r):"",i=new Uint8Array(o.length);for(let n=0;n<o.length;n++)i[n]=o.charCodeAt(n);return i};if(a.backpack?.solana){let r=a.backpack.solana;return{isBackpack:!0,get publicKey(){return r.publicKey},get isConnected(){return r.isConnected},connect:(...i)=>r.connect?r.connect(...i):Promise.resolve(),disconnect:(...i)=>r.disconnect?r.disconnect(...i):Promise.resolve(),on:(...i)=>r.on?r.on(...i):void 0,off:(...i)=>r.off?r.off(...i):void 0,removeAllListeners:(...i)=>r.removeAllListeners?r.removeAllListeners(...i):void 0,request:async i=>{if(i&&i.method==="signAndSendTransaction"&&typeof r.signAndSendTransaction=="function"){let n=i.params||{};if(n&&n.transaction!=null){let c=typeof n.transaction=="string"?t(n.transaction):n.transaction,s={serialize:()=>c};return await r.signAndSendTransaction(s)}if(typeof r.request=="function")return r.request(i);throw new Error("Unsupported method")}if(typeof r.request=="function")return r.request(i);throw new Error("Unsupported method")}}}if(a.xnft?.solana)return a.xnft.solana;let e=a.solana;if(e&&(e.isBackpack===!0||e?.provider?.isBackpack===!0)){let r=e;return{isBackpack:!0,get publicKey(){return r.publicKey},get isConnected(){return r.isConnected},connect:(...i)=>r.connect?r.connect(...i):Promise.resolve(),disconnect:(...i)=>r.disconnect?r.disconnect(...i):Promise.resolve(),on:(...i)=>r.on?r.on(...i):void 0,off:(...i)=>r.off?r.off(...i):void 0,removeAllListeners:(...i)=>r.removeAllListeners?r.removeAllListeners(...i):void 0,request:async i=>{if(i&&i.method==="signAndSendTransaction"&&typeof r.signAndSendTransaction=="function"){let n=i.params||{};if(n&&n.transaction!=null){let c=typeof n.transaction=="string"?t(n.transaction):n.transaction,s={serialize:()=>c};return await r.signAndSendTransaction(s)}if(typeof r.request=="function")return r.request(i);throw new Error("Unsupported method")}if(typeof r.request=="function")return r.request(i);throw new Error("Unsupported method")}}}return zt()&&e&&typeof e.connect=="function"?e:null}catch{return null}}var F=class{constructor(t){this.id="backpack";this.label="Backpack";this.config=t.config||{}}getSolanaProvider(){return z()}async isInstalled(){try{return!!z()}catch{return!1}}async isConnected(){try{let t=z();if(!t)return!1;if(t.isConnected&&t.publicKey)return!0;try{return await t.connect(),!!t.publicKey}catch{return!1}}catch{return!1}}async connect(){let t=z();if(!t){if(typeof window<"u"&&zt())try{if(t=z(),!t)throw new Error("Backpack (Solana) not available")}catch{throw new Error("Backpack (Solana) not available")}throw new Error("Backpack (Solana) not available")}try{let e=await t.connect(),r=String(e?.publicKey||t.publicKey||"");if(!r)throw new Error("No account returned by Backpack");return{owner:r,principal:r,connected:!0}}catch(e){throw e&&(e.code===4001||e.code==="4001")?new Error("Connection request was rejected"):new Error(e?.message||"Backpack connection failed")}}async disconnect(){try{let t=z();if(!t)return;try{await t.disconnect?.()}catch{}try{t.removeAllListeners?.("accountChanged")}catch{}try{t.removeAllListeners?.("connect")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=z();return t&&t?.publicKey?String(t.publicKey):null}catch{return null}}getActor(t){throw new Error("Solana wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};var V=class{constructor(t){this.id="stripe";this.label="Credit card";this._connected=!1;this._config=t.config||{}}async isInstalled(){return!0}async isConnected(){return this._connected}async connect(){return this._connected=!0,{owner:"stripe",principal:null,connected:!0}}async disconnect(){this._connected=!1}async getPrincipal(){return this._connected?"stripe":null}getActor(t){return null}};function ne(a){if(!a)return null;if(typeof a=="string")return a;try{let t=a;if(typeof t.toText=="function")return t.toText();if(typeof t.toString=="function")return t.toString()}catch{}return null}function re(a){let t={};return a&&(t.host=a),t}function oe(a){return a&&typeof a=="string"&&a.trim()?a:"https://icp-api.io"}var _=class{constructor(t){this._activeAdapter=null;this._account=null;this._walletConnectAdapter=null;this._config=t||{};let e={};e.metamask={id:"metamask",label:"MetaMask",icon:null,enabled:!0,adapter:k},e.coinbase={id:"coinbase",label:"Coinbase Wallet",icon:null,enabled:!0,adapter:Q},e.walletconnect={id:"walletconnect",label:"WalletConnect",icon:null,enabled:!1,adapter:x},e.phantom={id:"phantom",label:"Phantom",icon:null,enabled:!0,adapter:G},e.solflare={id:"solflare",label:"Solflare",icon:null,enabled:!0,adapter:R},e.backpack={id:"backpack",label:"Backpack",icon:null,enabled:!0,adapter:F},e.rainbow={id:"rainbow",label:"Rainbow",icon:null,enabled:!1,adapter:Y},e.rabby={id:"rabby",label:"Rabby",icon:null,enabled:!0,adapter:Z},e.brave={id:"brave",label:"Brave Wallet",icon:null,enabled:!0,adapter:W},e.okx={id:"okx",label:"OKX Wallet",icon:null,enabled:!0,adapter:B},e.trust={id:"trust",label:"Trust Wallet",icon:null,enabled:!0,adapter:q},e.oisy={id:"oisy",label:"Oisy",icon:null,enabled:!0,adapter:P},e.nfid={id:"nfid",label:"NFID",icon:null,enabled:!1,adapter:O},e.stripe={id:"stripe",label:"Credit card",icon:null,enabled:!0,adapter:V},e.ii={id:"ii",label:"Internet Identity",icon:null,enabled:!1,adapter:E},e.plug={id:"plug",label:"Plug",icon:null,enabled:!0,adapter:S};let r=this._config.adapters=this._config.adapters||{},o=oe(this._config.icHost);this._config.icHost||(this._config.icHost=o),r.nfid=r.nfid||{},r.nfid.config={signerUrl:r.nfid.config?.signerUrl||"https://nfid.one/rpc",hostUrl:r.nfid.config?.hostUrl||o,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||o,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 i=r.walletconnect?.enabled!==!1,n=String(r.walletconnect?.config?.projectId||"").trim();i&&!n&&(e.walletconnect.enabled=!1)}catch{}r.plug=r.plug||{},r.ii=r.ii||{},Object.keys(e).forEach(i=>{let n=r[i];n&&typeof n.enabled=="boolean"&&(e[i].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(c=>String(c).toLowerCase()):null,e={oisy:"ic",nfid:"ic",ii:"ic",plug:"ic",metamask:"evm",walletconnect:"evm",coinbase:"evm",brave:"evm",rainbow:"evm",rabby:"evm",okx:"evm",trust:"evm",phantom:"sol",solflare:"sol",backpack:"sol",stripe:"stripe"},r=Object.values(this._adapters).map((c,s)=>({a:c,idx:s})).filter(({a:c})=>{if(c.enabled===!1)return!1;if(c.id==="walletconnect")try{if(!String(this._config?.adapters?.walletconnect?.config?.projectId||"").trim())return!1}catch{return!1}if(c.id==="rabby"&&this.isMobileBrowser()||c.id==="backpack"&&this.isMobileBrowser()||c.id==="brave"&&this.isMobileBrowser()||c.id==="plug"&&this.isMobileBrowser())return!1;if(Array.isArray(t)&&t.length>0){let s=e[c.id];if(!s||!t.includes(s))return!1}return!0}),o=["sol","evm","ic"],i=t&&t.length>0?t:o,n={};return i.forEach((c,s)=>{n[c]=s}),r.sort((c,s)=>{let M=e[c.a.id],d=e[s.a.id],A=M in n?n[M]:Number.MAX_SAFE_INTEGER,l=d in n?n[d]:Number.MAX_SAFE_INTEGER;return A!==l?A-l:c.idx-s.idx}),r.map(({a:c})=>({id:c.id,label:c.label,icon:this.resolveIcon(c.id,c.icon),enabled:c.enabled,adapter:c.adapter,config:this._config.adapters&&this._config.adapters[c.id]?.config||{}}))}resolveIcon(t,e){return U(t,e||null)}getEvmProvider(){try{let t=this._activeAdapter;if(t&&typeof t.getEvmProvider=="function"){let e=t.getEvmProvider();if(e)return e;if(t.id==="walletconnect")return null}}catch{}try{return(typeof window<"u"?window.ethereum:null)||null}catch{return null}}getSolanaProvider(){try{let t=this._activeAdapter;if(t&&typeof t.getSolanaProvider=="function"){let e=t.getSolanaProvider();if(e)return e}}catch{}try{let t=typeof window<"u"?window:{};return t?.backpack?.solana?t.backpack.solana:t?.xnft?.solana?t.xnft.solana:t?.solana&&(t.solana.isBackpack===!0||t?.solana?.provider?.isBackpack===!0)?t.solana:t?.phantom?.solana?t.phantom.solana:t?.solflare?t.solflare:t?.solana||null}catch{return null}}async generateWalletConnectQr(t){let e=this._adapters.walletconnect;if(!e||e.enabled===!1)return null;this._walletConnectAdapter||(this._walletConnectAdapter=new x({config:this._config}));let r=t?.onConnected;return this._walletConnectAdapter.getOrCreateQrDataUrl({onConnected:o=>{this._activeAdapter=this._walletConnectAdapter,this._account={owner:o?.principal??o?.owner??null,principal:o?.principal??o?.owner??null,connected:!0};try{r?.(o)}catch{}}})}async hasCoinbaseAccounts(){try{let t=this._adapters.coinbase;if(!t||t.enabled===!1)return!1;let r=new t.adapter({config:this._config}).getEvmProvider?.();if(!r||typeof r.request!="function")return!1;let o=await r.request({method:"eth_accounts"});return Array.isArray(o)&&o.length>0}catch{return!1}}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 o=e==="walletconnect"&&this._walletConnectAdapter?this._walletConnectAdapter:new r.adapter({config:this._config});return this._activeAdapter=o,o.connect().then(i=>{let n=ne(i?.principal||i?.owner);return this._account={owner:n,principal:n,connected:!0},this._account})}async disconnect(){try{await this._activeAdapter?.disconnect()}catch{}this._activeAdapter?.id==="walletconnect"&&(this._walletConnectAdapter=null),this._activeAdapter=null,this._account=null}getActor(t){if(!this._activeAdapter){let e=new ee(re(this._config.icHost));return te.createActor(t.idl,{agent:e,canisterId:t.canisterId})}return this._activeAdapter.getActor(t)}},xn=a=>new _(a);export{_ as a,xn as b};
2
+ //# sourceMappingURL=chunk-UNUT7JHZ.js.map