@wormhole-foundation/wormhole-connect 2.1.0-beta.1-development → 2.1.0-beta.2-development
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.
- package/dist/assets/{ccip-j5QHovIT.js → ccip-DfI9A4kL.js} +1 -1
- package/dist/assets/{evm-B5I5ieRn.js → evm-CYICYl2d.js} +3 -3
- package/dist/assets/index-26ve8f2n.js +531 -0
- package/dist/assets/index-NqsKKz5-.js +14 -0
- package/dist/assets/index.es-CephYdxr.js +47 -0
- package/dist/assets/{solana-c_vE3Ye5.js → solana-DXbD7wpn.js} +2 -2
- package/dist/assets/{solanaEmbed.esm-Bx0ME0S1.js → solanaEmbed.esm-CcwIvLto.js} +10 -10
- package/dist/main.js +3 -3
- package/lib/{aptos-CzT6f7Ba.js → aptos-7G9wZkGW.js} +2 -2
- package/lib/{aptos-wFa1-xae.mjs → aptos-BlOWGpyT.mjs} +2 -2
- package/lib/{aptos-CqfHXKy7.js → aptos-CYxRBLR_.js} +1 -1
- package/lib/{aptos-DxhN-FI3.mjs → aptos-Ckopfy7I.mjs} +5 -5
- package/lib/{base64-C_XWimVd.js → base64-CFR5QWTY.js} +1 -1
- package/lib/{base64-L1vzz0KI.mjs → base64-HSuzVIKw.mjs} +1 -1
- package/lib/{ccip-z81HbzxN.mjs → ccip-Bntg_vPp.mjs} +1 -1
- package/lib/{ccip-D6aPw5Ue.js → ccip-CVUhxB0q.js} +1 -1
- package/lib/{chunk-IMTC3J2M-CazR2ogu.mjs → chunk-IMTC3J2M-BADDWO3l.mjs} +3 -3
- package/lib/{chunk-IMTC3J2M-WMj1Jt5m.js → chunk-IMTC3J2M-ByR5Yjf4.js} +1 -1
- package/lib/{events-D4Mv_WYU.js → events-jATx_JnD.js} +1 -1
- package/lib/{events-BrdIAbQL.mjs → events-lD3LhLH0.mjs} +1 -1
- package/lib/{evm-CB6zu7io.mjs → evm-BW0CHBCG.mjs} +5 -5
- package/lib/{evm-Fk4wBAda.js → evm-Bh1Y4eUx.js} +1 -1
- package/lib/{evm-CULALpUt.mjs → evm-ColKfWEz.mjs} +10 -6
- package/lib/{evm-BJL8RjTB.js → evm-z5yFHxM9.js} +3 -3
- package/lib/{index-D2y7My6x.mjs → index-2fBRXVP8.mjs} +2 -2
- package/lib/{index-Cuov-W4s.js → index-8-70GvMi.js} +1 -1
- package/lib/{index-Xy8XaqU-.js → index-8JCep4IW.js} +1 -1
- package/lib/{index-BTmEJpYG.mjs → index-B9GU1bLs.mjs} +1 -1
- package/lib/{index-CS3t6bxx.mjs → index-BXkdaYu_.mjs} +1 -1
- package/lib/{index-DEpSdwA-.mjs → index-BZ0W_BZS.mjs} +2 -2
- package/lib/{index-CtpCK8QC.js → index-BcdbCktu.js} +1 -1
- package/lib/{index-BnVRRJvv.js → index-BhexWYVn.js} +1 -1
- package/lib/{index-BT_eiQVC.js → index-C-OIv0gT.js} +1 -1
- package/lib/{index-CAqS4koK.js → index-C6WDEDwO.js} +1 -1
- package/lib/{index-BqaYMlOq.mjs → index-CAUvtNGE.mjs} +3 -3
- package/lib/{index-DpfI-2hT.mjs → index-CBxgME-2.mjs} +2 -2
- package/lib/{index-Dtg6idl8.js → index-CCUy1jes.js} +1 -1
- package/lib/{index-DGcrnWdu.mjs → index-CYBM2IeY.mjs} +13 -12
- package/lib/{index-DJJ3umH8.mjs → index-CcFpkXPM.mjs} +2 -2
- package/lib/{index-BqCducVx.mjs → index-CfnNi3Zd.mjs} +3 -3
- package/lib/{index-DdRe9fUB.mjs → index-Cl6LSKsg.mjs} +1 -1
- package/lib/{index-DtqIOAjg.mjs → index-CxQ-swIQ.mjs} +1 -1
- package/lib/index-Cxw9PIcl.js +531 -0
- package/lib/{index-CGdGYg5B.mjs → index-D0XcjaUl.mjs} +2 -2
- package/lib/{index-B9FwYN90.js → index-D7IcLxQc.js} +1 -1
- package/lib/index-DAzDpd7U.js +14 -0
- package/lib/{index-jC1hUxPJ.mjs → index-DB_r424l.mjs} +1 -1
- package/lib/{index-C_2eG0Va.mjs → index-DECw2aR6.mjs} +1 -1
- package/lib/{index-CuPOodtE.js → index-DGgQSMuG.js} +1 -1
- package/lib/{index-BsmdxKnE.mjs → index-DIAuhm70.mjs} +3008 -3525
- package/lib/{index-CuWt4RaJ.js → index-DOXMkFA4.js} +1 -1
- package/lib/{index-BGZONAdj.js → index-DQVQrflZ.js} +1 -1
- package/lib/{index-GM4m48QO.js → index-DUXnbpVg.js} +1 -1
- package/lib/{index-DUGwXho3.js → index-DZvLy2Dr.js} +3 -3
- package/lib/{index-BsYhqVq_.js → index-DjkMeATf.js} +1 -1
- package/lib/{index-C0MgLwy8.js → index-DleO04Ea.js} +1 -1
- package/lib/{index-HeldZ3mJ.mjs → index-InC6In6o.mjs} +2 -2
- package/lib/{index-CkUMgihl.js → index-V7kxzAZX.js} +1 -1
- package/lib/{index-B5TOuhBB.js → index-WLqZ1uO7.js} +1 -1
- package/lib/{index-Cf2BEUjb.mjs → index-gd_dleYk.mjs} +1 -1
- package/lib/{index-CayMgbM_.js → index-l0NqjNj9.js} +1 -1
- package/lib/{index-wAClTIQn.mjs → index-lEBTHIqm.mjs} +2 -2
- package/lib/{index-DsYAlD9Y.mjs → index-lHA40g0z.mjs} +2 -2
- package/lib/index-oPxOJfPK.mjs +3236 -0
- package/lib/{index-ChzkRsG0.js → index-rFhS51F6.js} +1 -1
- package/lib/{index-DXIpHh2N.mjs → index-y_DeeCWD.mjs} +4 -4
- package/lib/index.es-Doowrf9a.js +46 -0
- package/lib/index.es-YqKQxHG6.mjs +7725 -0
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{signer-BBJR-S7u.mjs → signer-CfU9wW3f.mjs} +1 -1
- package/lib/{signer-D8m72nd4.js → signer-eoVHaZz7.js} +1 -1
- package/lib/{solana-DB5vwgKO.mjs → solana-CHUnEnef.mjs} +4 -4
- package/lib/{solana-tZZpsxE8.js → solana-C_d_AKET.js} +1 -1
- package/lib/solana-SFHXHGL2.js +1 -0
- package/lib/{solana-DdLCPKF2.mjs → solana-y-l38J4U.mjs} +5 -5
- package/lib/{solanaEmbed.esm-TpsYEDsw.js → solanaEmbed.esm-B4tNQ7S7.js} +10 -10
- package/lib/{solanaEmbed.esm-ANGjgiaN.mjs → solanaEmbed.esm-DVOHg5WI.mjs} +1559 -1560
- package/lib/{sui-BFNsLy1t.mjs → sui-1fbLRIUL.mjs} +5 -5
- package/lib/{sui-UELhAZj0.js → sui-BN1m6APK.js} +1 -1
- package/lib/{sui-DKw9LmTC.mjs → sui-D9frS9ki.mjs} +1 -1
- package/lib/{sui-D9F11hKw.js → sui-K20aVxqE.js} +2 -2
- package/package.json +5 -1
- package/dist/assets/index-BUd_4Lqz.js +0 -14
- package/dist/assets/index-Db_i6Hbk.js +0 -531
- package/dist/assets/index.es-BYwyqXqm.js +0 -47
- package/lib/index-5EBn2EJL.mjs +0 -2709
- package/lib/index-CYpOkqEl.js +0 -14
- package/lib/index-Cst2493l.js +0 -531
- package/lib/index.es-DG7BWZ8R.js +0 -46
- package/lib/index.es-IbuqEs8_.mjs +0 -8242
- package/lib/solana-521ACL4P.js +0 -1
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BfryJIfK.js","main.js","main.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as Y,be as Ko,bf as Mw,j as Lw,_ as zw}from"../main.js";import{e as yt,s as Vo}from"./events-CWXiu-8K.js";import{s as Fo,x as el,r as tl,H as kw,c as rl,q as Ts}from"./evm-B5I5ieRn.js";import{c as j}from"./index-DDKl8WTX.js";import{d as bs,c as Hw,a as Kw,k as Vw,b as Fw,s as Ww,g as Mu,I as lr,f as mt,t as at,e as Lu,C as Bw,h as Gw,r as Qw,i as qr,j as il,l as It,m as qs,n as zu,o as Jw,p as Yw,q as js,u as sl,T as Us,v as Ms,E as Ke,y as Ye,P as ku,Q as Zw,w as Xw,x as Wo,z as Ls,A as Gt,_ as e_,B as t_,D as Hu}from"./index-BUd_4Lqz.js";import{o as Ku}from"./browser-ponyfill-C5eVCvAI.js";var se={};Object.defineProperty(se,"__esModule",{value:!0});se.getLocalStorage=se.getLocalStorageOrThrow=se.getCrypto=se.getCryptoOrThrow=se.getLocation=se.getLocationOrThrow=se.getNavigator=se.getNavigatorOrThrow=se.getDocument=se.getDocumentOrThrow=se.getFromWindowOrThrow=se.getFromWindow=void 0;function pr(o){let t;return typeof window<"u"&&typeof window[o]<"u"&&(t=window[o]),t}se.getFromWindow=pr;function Mr(o){const t=pr(o);if(!t)throw new Error(`${o} is not defined in Window`);return t}se.getFromWindowOrThrow=Mr;function r_(){return Mr("document")}se.getDocumentOrThrow=r_;function i_(){return pr("document")}se.getDocument=i_;function s_(){return Mr("navigator")}se.getNavigatorOrThrow=s_;function n_(){return pr("navigator")}se.getNavigator=n_;function o_(){return Mr("location")}se.getLocationOrThrow=o_;function a_(){return pr("location")}se.getLocation=a_;function c_(){return Mr("crypto")}se.getCryptoOrThrow=c_;function u_(){return pr("crypto")}se.getCrypto=u_;function h_(){return Mr("localStorage")}se.getLocalStorageOrThrow=h_;function l_(){return pr("localStorage")}se.getLocalStorage=l_;var Bo={};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.getWindowMetadata=void 0;const Vu=se;function p_(){let o,t;try{o=Vu.getDocumentOrThrow(),t=Vu.getLocationOrThrow()}catch{return null}function r(){const _=o.getElementsByTagName("link"),I=[];for(let C=0;C<_.length;C++){const N=_[C],U=N.getAttribute("rel");if(U&&U.toLowerCase().indexOf("icon")>-1){const A=N.getAttribute("href");if(A)if(A.toLowerCase().indexOf("https:")===-1&&A.toLowerCase().indexOf("http:")===-1&&A.indexOf("//")!==0){let V=t.protocol+"//"+t.host;if(A.indexOf("/")===0)V+=A;else{const oe=t.pathname.split("/");oe.pop();const J=oe.join("/");V+=J+"/"+A}I.push(V)}else if(A.indexOf("//")===0){const V=t.protocol+A;I.push(V)}else I.push(A)}}return I}function s(..._){const I=o.getElementsByTagName("meta");for(let C=0;C<I.length;C++){const N=I[C],U=["itemprop","property","name"].map(A=>N.getAttribute(A)).filter(A=>A?_.includes(A):!1);if(U.length&&U){const A=N.getAttribute("content");if(A)return A}}return""}function a(){let _=s("name","og:site_name","og:title","twitter:title");return _||(_=o.title),_}function u(){return s("description","og:description","twitter:description","keywords")}const l=a(),g=u(),v=t.origin,d=r();return{description:g,url:v,icons:d,name:l}}Bo.getWindowMetadata=p_;function f_(o,t=[]){const r=[];return Object.keys(o).forEach(s=>{if(t.length&&!t.includes(s))return;const a=o[s];r.push(...a.accounts)}),r}const d_={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}};function g_(o,t){const{message:r,code:s}=d_[o];return{message:r,code:s}}function $o(o,t){return!!Array.isArray(o)}function m_(o){return!o||typeof o.then!="function"?Promise.resolve(o):o}function be(o,...t){try{return m_(o(...t))}catch(r){return Promise.reject(r)}}function y_(o){const t=typeof o;return o===null||t!=="object"&&t!=="function"}function v_(o){const t=Object.getPrototypeOf(o);return!t||t.isPrototypeOf(Object)}function Rs(o){if(y_(o))return String(o);if(v_(o)||Array.isArray(o))return JSON.stringify(o);if(typeof o.toJSON=="function")return Rs(o.toJSON());throw new Error("[unstorage] Cannot stringify value!")}const No="base64:";function w_(o){return typeof o=="string"?o:No+E_(o)}function __(o){return typeof o!="string"||!o.startsWith(No)?o:b_(o.slice(No.length))}function b_(o){return globalThis.Buffer?Y.Buffer.from(o,"base64"):Uint8Array.from(globalThis.atob(o),t=>t.codePointAt(0))}function E_(o){return globalThis.Buffer?Y.Buffer.from(o).toString("base64"):globalThis.btoa(String.fromCodePoint(...o))}function ke(o){var t;return o&&((t=o.split("?")[0])==null?void 0:t.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""))||""}function I_(...o){return ke(o.join(":"))}function Es(o){return o=ke(o),o?o+":":""}const P_="memory",S_=()=>{const o=new Map;return{name:P_,getInstance:()=>o,hasItem(t){return o.has(t)},getItem(t){return o.get(t)??null},getItemRaw(t){return o.get(t)??null},setItem(t,r){o.set(t,r)},setItemRaw(t,r){o.set(t,r)},removeItem(t){o.delete(t)},getKeys(){return[...o.keys()]},clear(){o.clear()},dispose(){o.clear()}}};function O_(o={}){const t={mounts:{"":o.driver||S_()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=d=>{for(const E of t.mountpoints)if(d.startsWith(E))return{base:E,relativeKey:d.slice(E.length),driver:t.mounts[E]};return{base:"",relativeKey:d,driver:t.mounts[""]}},s=(d,E)=>t.mountpoints.filter(_=>_.startsWith(d)||E&&d.startsWith(_)).map(_=>({relativeBase:d.length>_.length?d.slice(_.length):void 0,mountpoint:_,driver:t.mounts[_]})),a=(d,E)=>{if(t.watching){E=ke(E);for(const _ of t.watchListeners)_(d,E)}},u=async()=>{if(!t.watching){t.watching=!0;for(const d in t.mounts)t.unwatch[d]=await Fu(t.mounts[d],a,d)}},l=async()=>{if(t.watching){for(const d in t.unwatch)await t.unwatch[d]();t.unwatch={},t.watching=!1}},g=(d,E,_)=>{const I=new Map,C=N=>{let U=I.get(N.base);return U||(U={driver:N.driver,base:N.base,items:[]},I.set(N.base,U)),U};for(const N of d){const U=typeof N=="string",A=ke(U?N:N.key),V=U?void 0:N.value,oe=U||!N.options?E:{...E,...N.options},J=r(A);C(J).items.push({key:A,value:V,relativeKey:J.relativeKey,options:oe})}return Promise.all([...I.values()].map(N=>_(N))).then(N=>N.flat())},v={hasItem(d,E={}){d=ke(d);const{relativeKey:_,driver:I}=r(d);return be(I.hasItem,_,E)},getItem(d,E={}){d=ke(d);const{relativeKey:_,driver:I}=r(d);return be(I.getItem,_,E).then(C=>bs(C))},getItems(d,E={}){return g(d,E,_=>_.driver.getItems?be(_.driver.getItems,_.items.map(I=>({key:I.relativeKey,options:I.options})),E).then(I=>I.map(C=>({key:I_(_.base,C.key),value:bs(C.value)}))):Promise.all(_.items.map(I=>be(_.driver.getItem,I.relativeKey,I.options).then(C=>({key:I.key,value:bs(C)})))))},getItemRaw(d,E={}){d=ke(d);const{relativeKey:_,driver:I}=r(d);return I.getItemRaw?be(I.getItemRaw,_,E):be(I.getItem,_,E).then(C=>__(C))},async setItem(d,E,_={}){if(E===void 0)return v.removeItem(d);d=ke(d);const{relativeKey:I,driver:C}=r(d);C.setItem&&(await be(C.setItem,I,Rs(E),_),C.watch||a("update",d))},async setItems(d,E){await g(d,E,async _=>{if(_.driver.setItems)return be(_.driver.setItems,_.items.map(I=>({key:I.relativeKey,value:Rs(I.value),options:I.options})),E);_.driver.setItem&&await Promise.all(_.items.map(I=>be(_.driver.setItem,I.relativeKey,Rs(I.value),I.options)))})},async setItemRaw(d,E,_={}){if(E===void 0)return v.removeItem(d,_);d=ke(d);const{relativeKey:I,driver:C}=r(d);if(C.setItemRaw)await be(C.setItemRaw,I,E,_);else if(C.setItem)await be(C.setItem,I,w_(E),_);else return;C.watch||a("update",d)},async removeItem(d,E={}){typeof E=="boolean"&&(E={removeMeta:E}),d=ke(d);const{relativeKey:_,driver:I}=r(d);I.removeItem&&(await be(I.removeItem,_,E),(E.removeMeta||E.removeMata)&&await be(I.removeItem,_+"$",E),I.watch||a("remove",d))},async getMeta(d,E={}){typeof E=="boolean"&&(E={nativeOnly:E}),d=ke(d);const{relativeKey:_,driver:I}=r(d),C=Object.create(null);if(I.getMeta&&Object.assign(C,await be(I.getMeta,_,E)),!E.nativeOnly){const N=await be(I.getItem,_+"$",E).then(U=>bs(U));N&&typeof N=="object"&&(typeof N.atime=="string"&&(N.atime=new Date(N.atime)),typeof N.mtime=="string"&&(N.mtime=new Date(N.mtime)),Object.assign(C,N))}return C},setMeta(d,E,_={}){return this.setItem(d+"$",E,_)},removeMeta(d,E={}){return this.removeItem(d+"$",E)},async getKeys(d,E={}){d=Es(d);const _=s(d,!0);let I=[];const C=[];for(const N of _){const U=await be(N.driver.getKeys,N.relativeBase,E);for(const A of U){const V=N.mountpoint+ke(A);I.some(oe=>V.startsWith(oe))||C.push(V)}I=[N.mountpoint,...I.filter(A=>!A.startsWith(N.mountpoint))]}return d?C.filter(N=>N.startsWith(d)&&N[N.length-1]!=="$"):C.filter(N=>N[N.length-1]!=="$")},async clear(d,E={}){d=Es(d),await Promise.all(s(d,!1).map(async _=>{if(_.driver.clear)return be(_.driver.clear,_.relativeBase,E);if(_.driver.removeItem){const I=await _.driver.getKeys(_.relativeBase||"",E);return Promise.all(I.map(C=>_.driver.removeItem(C,E)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(d=>Wu(d)))},async watch(d){return await u(),t.watchListeners.push(d),async()=>{t.watchListeners=t.watchListeners.filter(E=>E!==d),t.watchListeners.length===0&&await l()}},async unwatch(){t.watchListeners=[],await l()},mount(d,E){if(d=Es(d),d&&t.mounts[d])throw new Error(`already mounted at ${d}`);return d&&(t.mountpoints.push(d),t.mountpoints.sort((_,I)=>I.length-_.length)),t.mounts[d]=E,t.watching&&Promise.resolve(Fu(E,a,d)).then(_=>{t.unwatch[d]=_}).catch(console.error),v},async unmount(d,E=!0){var _,I;d=Es(d),!(!d||!t.mounts[d])&&(t.watching&&d in t.unwatch&&((I=(_=t.unwatch)[d])==null||I.call(_),delete t.unwatch[d]),E&&await Wu(t.mounts[d]),t.mountpoints=t.mountpoints.filter(C=>C!==d),delete t.mounts[d])},getMount(d=""){d=ke(d)+":";const E=r(d);return{driver:E.driver,base:E.base}},getMounts(d="",E={}){return d=ke(d),s(d,E.parents).map(I=>({driver:I.driver,base:I.mountpoint}))},keys:(d,E={})=>v.getKeys(d,E),get:(d,E={})=>v.getItem(d,E),set:(d,E,_={})=>v.setItem(d,E,_),has:(d,E={})=>v.hasItem(d,E),del:(d,E={})=>v.removeItem(d,E),remove:(d,E={})=>v.removeItem(d,E)};return v}function Fu(o,t,r){return o.watch?o.watch((s,a)=>t(s,r+a)):()=>{}}async function Wu(o){typeof o.dispose=="function"&&await be(o.dispose)}const R_=o=>JSON.stringify(o,(t,r)=>typeof r=="bigint"?r.toString()+"n":r),$_=o=>{const t=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,r=o.replace(t,'$1"$2n"$3');return JSON.parse(r,(s,a)=>typeof a=="string"&&a.match(/^\d+n$/)?BigInt(a.substring(0,a.length-1)):a)};function zs(o){if(typeof o!="string")throw new Error(`Cannot safe json parse value of type ${typeof o}`);try{return $_(o)}catch{return o}}function ks(o){return typeof o=="string"?o:R_(o)||""}const N_="idb-keyval";var C_=(o={})=>{const t=o.base&&o.base.length>0?`${o.base}:`:"",r=a=>t+a;let s;return o.dbName&&o.storeName&&(s=Hw(o.dbName,o.storeName)),{name:N_,options:o,async hasItem(a){return!(typeof await Mu(r(a),s)>"u")},async getItem(a){return await Mu(r(a),s)??null},setItem(a,u){return Ww(r(a),u,s)},removeItem(a){return Fw(r(a),s)},getKeys(){return Vw(s)},clear(){return Kw(s)}}};const T_="WALLET_CONNECT_V2_INDEXED_DB",x_="keyvaluestorage";let A_=class{constructor(){this.indexedDb=O_({driver:C_({dbName:T_,storeName:x_})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(t=>[t.key,t.value])}async getItem(t){const r=await this.indexedDb.getItem(t);if(r!==null)return r}async setItem(t,r){await this.indexedDb.setItem(t,ks(r))}async removeItem(t){await this.indexedDb.removeItem(t)}};var fo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Y.global<"u"?Y.global:typeof self<"u"?self:{},$s={exports:{}};(function(){let o;function t(){}o=t,o.prototype.getItem=function(r){return this.hasOwnProperty(r)?String(this[r]):null},o.prototype.setItem=function(r,s){this[r]=String(s)},o.prototype.removeItem=function(r){delete this[r]},o.prototype.clear=function(){const r=this;Object.keys(r).forEach(function(s){r[s]=void 0,delete r[s]})},o.prototype.key=function(r){return r=r||0,Object.keys(this)[r]},o.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof fo<"u"&&fo.localStorage?$s.exports=fo.localStorage:typeof window<"u"&&window.localStorage?$s.exports=window.localStorage:$s.exports=new t})();function D_(o){var t;return[o[0],zs((t=o[1])!=null?t:"")]}let q_=class{constructor(){this.localStorage=$s.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(D_)}async getItem(t){const r=this.localStorage.getItem(t);if(r!==null)return zs(r)}async setItem(t,r){this.localStorage.setItem(t,ks(r))}async removeItem(t){this.localStorage.removeItem(t)}};const j_="wc_storage_version",Bu=1,U_=async(o,t,r)=>{const s=j_,a=await t.getItem(s);if(a&&a>=Bu){r(t);return}const u=await o.getKeys();if(!u.length){r(t);return}const l=[];for(;u.length;){const g=u.shift();if(!g)continue;const v=g.toLowerCase();if(v.includes("wc@")||v.includes("walletconnect")||v.includes("wc_")||v.includes("wallet_connect")){const d=await o.getItem(g);await t.setItem(g,d),l.push(g)}}await t.setItem(s,Bu),r(t),M_(o,l)},M_=async(o,t)=>{t.length&&t.forEach(async r=>{await o.removeItem(r)})};let L_=class{constructor(){this.initialized=!1,this.setInitialized=r=>{this.storage=r,this.initialized=!0};const t=new q_;this.storage=t;try{const r=new A_;U_(t,r,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(t){return await this.initialize(),this.storage.getItem(t)}async setItem(t,r){return await this.initialize(),this.storage.setItem(t,r)}async removeItem(t){return await this.initialize(),this.storage.removeItem(t)}async initialize(){this.initialized||await new Promise(t=>{const r=setInterval(()=>{this.initialized&&(clearInterval(r),t())},20)})}};var Lr={};/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation.
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted.
|
|
7
|
-
|
|
8
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var Co=function(o,t){return Co=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,s){r.__proto__=s}||function(r,s){for(var a in s)s.hasOwnProperty(a)&&(r[a]=s[a])},Co(o,t)};function z_(o,t){Co(o,t);function r(){this.constructor=o}o.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var To=function(){return To=Object.assign||function(t){for(var r,s=1,a=arguments.length;s<a;s++){r=arguments[s];for(var u in r)Object.prototype.hasOwnProperty.call(r,u)&&(t[u]=r[u])}return t},To.apply(this,arguments)};function k_(o,t){var r={};for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&t.indexOf(s)<0&&(r[s]=o[s]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(o);a<s.length;a++)t.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(o,s[a])&&(r[s[a]]=o[s[a]]);return r}function H_(o,t,r,s){var a=arguments.length,u=a<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,r):s,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(o,t,r,s);else for(var g=o.length-1;g>=0;g--)(l=o[g])&&(u=(a<3?l(u):a>3?l(t,r,u):l(t,r))||u);return a>3&&u&&Object.defineProperty(t,r,u),u}function K_(o,t){return function(r,s){t(r,s,o)}}function V_(o,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,t)}function F_(o,t,r,s){function a(u){return u instanceof r?u:new r(function(l){l(u)})}return new(r||(r=Promise))(function(u,l){function g(E){try{d(s.next(E))}catch(_){l(_)}}function v(E){try{d(s.throw(E))}catch(_){l(_)}}function d(E){E.done?u(E.value):a(E.value).then(g,v)}d((s=s.apply(o,t||[])).next())})}function W_(o,t){var r={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},s,a,u,l;return l={next:g(0),throw:g(1),return:g(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function g(d){return function(E){return v([d,E])}}function v(d){if(s)throw new TypeError("Generator is already executing.");for(;r;)try{if(s=1,a&&(u=d[0]&2?a.return:d[0]?a.throw||((u=a.return)&&u.call(a),0):a.next)&&!(u=u.call(a,d[1])).done)return u;switch(a=0,u&&(d=[d[0]&2,u.value]),d[0]){case 0:case 1:u=d;break;case 4:return r.label++,{value:d[1],done:!1};case 5:r.label++,a=d[1],d=[0];continue;case 7:d=r.ops.pop(),r.trys.pop();continue;default:if(u=r.trys,!(u=u.length>0&&u[u.length-1])&&(d[0]===6||d[0]===2)){r=0;continue}if(d[0]===3&&(!u||d[1]>u[0]&&d[1]<u[3])){r.label=d[1];break}if(d[0]===6&&r.label<u[1]){r.label=u[1],u=d;break}if(u&&r.label<u[2]){r.label=u[2],r.ops.push(d);break}u[2]&&r.ops.pop(),r.trys.pop();continue}d=t.call(o,r)}catch(E){d=[6,E],a=0}finally{s=u=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function B_(o,t,r,s){s===void 0&&(s=r),o[s]=t[r]}function G_(o,t){for(var r in o)r!=="default"&&!t.hasOwnProperty(r)&&(t[r]=o[r])}function xo(o){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&o[t],s=0;if(r)return r.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&s>=o.length&&(o=void 0),{value:o&&o[s++],done:!o}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function nl(o,t){var r=typeof Symbol=="function"&&o[Symbol.iterator];if(!r)return o;var s=r.call(o),a,u=[],l;try{for(;(t===void 0||t-- >0)&&!(a=s.next()).done;)u.push(a.value)}catch(g){l={error:g}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(l)throw l.error}}return u}function Q_(){for(var o=[],t=0;t<arguments.length;t++)o=o.concat(nl(arguments[t]));return o}function J_(){for(var o=0,t=0,r=arguments.length;t<r;t++)o+=arguments[t].length;for(var s=Array(o),a=0,t=0;t<r;t++)for(var u=arguments[t],l=0,g=u.length;l<g;l++,a++)s[a]=u[l];return s}function Ei(o){return this instanceof Ei?(this.v=o,this):new Ei(o)}function Y_(o,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=r.apply(o,t||[]),a,u=[];return a={},l("next"),l("throw"),l("return"),a[Symbol.asyncIterator]=function(){return this},a;function l(I){s[I]&&(a[I]=function(C){return new Promise(function(N,U){u.push([I,C,N,U])>1||g(I,C)})})}function g(I,C){try{v(s[I](C))}catch(N){_(u[0][3],N)}}function v(I){I.value instanceof Ei?Promise.resolve(I.value.v).then(d,E):_(u[0][2],I)}function d(I){g("next",I)}function E(I){g("throw",I)}function _(I,C){I(C),u.shift(),u.length&&g(u[0][0],u[0][1])}}function Z_(o){var t,r;return t={},s("next"),s("throw",function(a){throw a}),s("return"),t[Symbol.iterator]=function(){return this},t;function s(a,u){t[a]=o[a]?function(l){return(r=!r)?{value:Ei(o[a](l)),done:a==="return"}:u?u(l):l}:u}}function X_(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=o[Symbol.asyncIterator],r;return t?t.call(o):(o=typeof xo=="function"?xo(o):o[Symbol.iterator](),r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r);function s(u){r[u]=o[u]&&function(l){return new Promise(function(g,v){l=o[u](l),a(g,v,l.done,l.value)})}}function a(u,l,g,v){Promise.resolve(v).then(function(d){u({value:d,done:g})},l)}}function eb(o,t){return Object.defineProperty?Object.defineProperty(o,"raw",{value:t}):o.raw=t,o}function tb(o){if(o&&o.__esModule)return o;var t={};if(o!=null)for(var r in o)Object.hasOwnProperty.call(o,r)&&(t[r]=o[r]);return t.default=o,t}function rb(o){return o&&o.__esModule?o:{default:o}}function ib(o,t){if(!t.has(o))throw new TypeError("attempted to get private field on non-instance");return t.get(o)}function sb(o,t,r){if(!t.has(o))throw new TypeError("attempted to set private field on non-instance");return t.set(o,r),r}const nb=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return To},__asyncDelegator:Z_,__asyncGenerator:Y_,__asyncValues:X_,__await:Ei,__awaiter:F_,__classPrivateFieldGet:ib,__classPrivateFieldSet:sb,__createBinding:B_,__decorate:H_,__exportStar:G_,__extends:z_,__generator:W_,__importDefault:rb,__importStar:tb,__makeTemplateObject:eb,__metadata:V_,__param:K_,__read:nl,__rest:k_,__spread:Q_,__spreadArrays:J_,__values:xo},Symbol.toStringTag,{value:"Module"})),Hs=Ko(nb);var pi={},go={},fi={};const ob=Object.freeze(Object.defineProperty({__proto__:null,IEvents:lr},Symbol.toStringTag,{value:"Module"})),ab=Ko(ob);var Gu;function cb(){if(Gu)return fi;Gu=1,Object.defineProperty(fi,"__esModule",{value:!0}),fi.IHeartBeat=void 0;const o=ab;class t extends o.IEvents{constructor(s){super()}}return fi.IHeartBeat=t,fi}var Qu;function ol(){return Qu||(Qu=1,function(o){Object.defineProperty(o,"__esModule",{value:!0}),Hs.__exportStar(cb(),o)}(go)),go}var mo={},cr={},Ju;function ub(){if(Ju)return cr;Ju=1,Object.defineProperty(cr,"__esModule",{value:!0}),cr.HEARTBEAT_EVENTS=cr.HEARTBEAT_INTERVAL=void 0;const o=j;return cr.HEARTBEAT_INTERVAL=o.FIVE_SECONDS,cr.HEARTBEAT_EVENTS={pulse:"heartbeat_pulse"},cr}var Yu;function al(){return Yu||(Yu=1,function(o){Object.defineProperty(o,"__esModule",{value:!0}),Hs.__exportStar(ub(),o)}(mo)),mo}var Zu;function hb(){if(Zu)return pi;Zu=1,Object.defineProperty(pi,"__esModule",{value:!0}),pi.HeartBeat=void 0;const o=Hs,t=Mw(),r=j,s=ol(),a=al();class u extends s.IHeartBeat{constructor(g){super(g),this.events=new t.EventEmitter,this.interval=a.HEARTBEAT_INTERVAL,this.interval=(g==null?void 0:g.interval)||a.HEARTBEAT_INTERVAL}static init(g){return o.__awaiter(this,void 0,void 0,function*(){const v=new u(g);return yield v.init(),v})}init(){return o.__awaiter(this,void 0,void 0,function*(){yield this.initialize()})}stop(){clearInterval(this.intervalRef)}on(g,v){this.events.on(g,v)}once(g,v){this.events.once(g,v)}off(g,v){this.events.off(g,v)}removeListener(g,v){this.events.removeListener(g,v)}initialize(){return o.__awaiter(this,void 0,void 0,function*(){this.intervalRef=setInterval(()=>this.pulse(),r.toMiliseconds(this.interval))})}pulse(){this.events.emit(a.HEARTBEAT_EVENTS.pulse)}}return pi.HeartBeat=u,pi}(function(o){Object.defineProperty(o,"__esModule",{value:!0});const t=Hs;t.__exportStar(hb(),o),t.__exportStar(ol(),o),t.__exportStar(al(),o)})(Lr);class lb extends lr{constructor(t){super(),this.opts=t,this.protocol="wc",this.version=2}}let pb=class extends lr{constructor(t,r){super(),this.core=t,this.logger=r,this.records=new Map}},fb=class{constructor(t,r){this.logger=t,this.core=r}},db=class extends lr{constructor(t,r){super(),this.relayer=t,this.logger=r}},gb=class extends lr{constructor(t){super()}},mb=class{constructor(t,r,s,a){this.core=t,this.logger=r,this.name=s}},yb=class extends lr{constructor(t,r){super(),this.relayer=t,this.logger=r}},vb=class extends lr{constructor(t,r){super(),this.core=t,this.logger=r}},wb=class{constructor(t,r){this.projectId=t,this.logger=r}},_b=class{constructor(t,r){this.projectId=t,this.logger=r}},bb=class{constructor(t){this.opts=t,this.protocol="wc",this.version=2}},Eb=class{constructor(t){this.client=t}};var ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.getLocalStorage=ne.getLocalStorageOrThrow=ne.getCrypto=ne.getCryptoOrThrow=cl=ne.getLocation=ne.getLocationOrThrow=Qo=ne.getNavigator=ne.getNavigatorOrThrow=Go=ne.getDocument=ne.getDocumentOrThrow=ne.getFromWindowOrThrow=ne.getFromWindow=void 0;function fr(o){let t;return typeof window<"u"&&typeof window[o]<"u"&&(t=window[o]),t}ne.getFromWindow=fr;function zr(o){const t=fr(o);if(!t)throw new Error(`${o} is not defined in Window`);return t}ne.getFromWindowOrThrow=zr;function Ib(){return zr("document")}ne.getDocumentOrThrow=Ib;function Pb(){return fr("document")}var Go=ne.getDocument=Pb;function Sb(){return zr("navigator")}ne.getNavigatorOrThrow=Sb;function Ob(){return fr("navigator")}var Qo=ne.getNavigator=Ob;function Rb(){return zr("location")}ne.getLocationOrThrow=Rb;function $b(){return fr("location")}var cl=ne.getLocation=$b;function Nb(){return zr("crypto")}ne.getCryptoOrThrow=Nb;function Cb(){return fr("crypto")}ne.getCrypto=Cb;function Tb(){return zr("localStorage")}ne.getLocalStorageOrThrow=Tb;function xb(){return fr("localStorage")}ne.getLocalStorage=xb;var Jo={};Object.defineProperty(Jo,"__esModule",{value:!0});var ul=Jo.getWindowMetadata=void 0;const Xu=ne;function Ab(){let o,t;try{o=Xu.getDocumentOrThrow(),t=Xu.getLocationOrThrow()}catch{return null}function r(){const _=o.getElementsByTagName("link"),I=[];for(let C=0;C<_.length;C++){const N=_[C],U=N.getAttribute("rel");if(U&&U.toLowerCase().indexOf("icon")>-1){const A=N.getAttribute("href");if(A)if(A.toLowerCase().indexOf("https:")===-1&&A.toLowerCase().indexOf("http:")===-1&&A.indexOf("//")!==0){let V=t.protocol+"//"+t.host;if(A.indexOf("/")===0)V+=A;else{const oe=t.pathname.split("/");oe.pop();const J=oe.join("/");V+=J+"/"+A}I.push(V)}else if(A.indexOf("//")===0){const V=t.protocol+A;I.push(V)}else I.push(A)}}return I}function s(..._){const I=o.getElementsByTagName("meta");for(let C=0;C<I.length;C++){const N=I[C],U=["itemprop","property","name"].map(A=>N.getAttribute(A)).filter(A=>A?_.includes(A):!1);if(U.length&&U){const A=N.getAttribute("content");if(A)return A}}return""}function a(){let _=s("name","og:site_name","og:title","twitter:title");return _||(_=o.title),_}function u(){return s("description","og:description","twitter:description","keywords")}const l=a(),g=u(),v=t.origin,d=r();return{description:g,url:v,icons:d,name:l}}ul=Jo.getWindowMetadata=Ab;const Db=":";function qb(o){const[t,r]=o.split(Db);return{namespace:t,reference:r}}function hl(o,t){return o.includes(":")?[o]:t.chains||[]}const ll="base10",De="base16",Ao="base64pad",Yo="utf8",pl=0,dr=1,jb=0,eh=1,Do=12,Zo=32;function Ub(){const o=el.generateKeyPair();return{privateKey:at(o.secretKey,De),publicKey:at(o.publicKey,De)}}function qo(){const o=tl.randomBytes(Zo);return at(o,De)}function Mb(o,t){const r=el.sharedKey(mt(o,De),mt(t,De),!0),s=new kw(Fo.SHA256,r).expand(Zo);return at(s,De)}function Lb(o){const t=Fo.hash(mt(o,De));return at(t,De)}function jr(o){const t=Fo.hash(mt(o,Yo));return at(t,De)}function zb(o){return mt(`${o}`,ll)}function Pi(o){return Number(at(o,ll))}function kb(o){const t=zb(typeof o.type<"u"?o.type:pl);if(Pi(t)===dr&&typeof o.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const r=typeof o.senderPublicKey<"u"?mt(o.senderPublicKey,De):void 0,s=typeof o.iv<"u"?mt(o.iv,De):tl.randomBytes(Do),a=new rl.ChaCha20Poly1305(mt(o.symKey,De)).seal(s,mt(o.message,Yo));return Kb({type:t,sealed:a,iv:s,senderPublicKey:r})}function Hb(o){const t=new rl.ChaCha20Poly1305(mt(o.symKey,De)),{sealed:r,iv:s}=xs(o.encoded),a=t.open(s,r);if(a===null)throw new Error("Failed to decrypt");return at(a,Yo)}function Kb(o){if(Pi(o.type)===dr){if(typeof o.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return at(Lu([o.type,o.senderPublicKey,o.iv,o.sealed]),Ao)}return at(Lu([o.type,o.iv,o.sealed]),Ao)}function xs(o){const t=mt(o,Ao),r=t.slice(jb,eh),s=eh;if(Pi(r)===dr){const g=s+Zo,v=g+Do,d=t.slice(s,g),E=t.slice(g,v),_=t.slice(v);return{type:r,sealed:_,iv:E,senderPublicKey:d}}const a=s+Do,u=t.slice(s,a),l=t.slice(a);return{type:r,sealed:l,iv:u}}function Vb(o,t){const r=xs(o);return fl({type:Pi(r.type),senderPublicKey:typeof r.senderPublicKey<"u"?at(r.senderPublicKey,De):void 0,receiverPublicKey:t==null?void 0:t.receiverPublicKey})}function fl(o){const t=(o==null?void 0:o.type)||pl;if(t===dr){if(typeof(o==null?void 0:o.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(o==null?void 0:o.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:t,senderPublicKey:o==null?void 0:o.senderPublicKey,receiverPublicKey:o==null?void 0:o.receiverPublicKey}}function th(o){return o.type===dr&&typeof o.senderPublicKey=="string"&&typeof o.receiverPublicKey=="string"}var Fb=Object.defineProperty,rh=Object.getOwnPropertySymbols,Wb=Object.prototype.hasOwnProperty,Bb=Object.prototype.propertyIsEnumerable,ih=(o,t,r)=>t in o?Fb(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,sh=(o,t)=>{for(var r in t||(t={}))Wb.call(t,r)&&ih(o,r,t[r]);if(rh)for(var r of rh(t))Bb.call(t,r)&&ih(o,r,t[r]);return o};const Gb="ReactNative",Je={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Qb="js";function Xo(){return typeof Y.process<"u"&&typeof Y.process.versions<"u"&&typeof Y.process.versions.node<"u"}function kr(){return!Go()&&!!Qo()&&navigator.product===Gb}function Hr(){return!Xo()&&!!Qo()&&!!Go()}function Si(){return kr()?Je.reactNative:Xo()?Je.node:Hr()?Je.browser:Je.unknown}function Jb(){var o;try{return kr()&&typeof Y.global<"u"&&typeof(Y.global==null?void 0:Y.global.Application)<"u"?(o=Y.global.Application)==null?void 0:o.applicationId:void 0}catch{return}}function Yb(o,t){let r=Ts.parse(o);return r=sh(sh({},r),t),o=Ts.stringify(r),o}function Zb(){return ul()||{name:"",description:"",url:"",icons:[""]}}function Xb(){if(Si()===Je.reactNative&&typeof Y.global<"u"&&typeof(Y.global==null?void 0:Y.global.Platform)<"u"){const{OS:r,Version:s}=Y.global.Platform;return[r,s].join("-")}const o=Gw();if(o===null)return"unknown";const t=o.os?o.os.replace(" ","").toLowerCase():"unknown";return o.type==="browser"?[t,o.name,o.version].join("-"):[t,o.version].join("-")}function e0(){var o;const t=Si();return t===Je.browser?[t,((o=cl())==null?void 0:o.host)||"unknown"].join(":"):t}function t0(o,t,r){const s=Xb(),a=e0();return[[o,t].join("-"),[Qb,r].join("-"),s,a].join("/")}function r0({protocol:o,version:t,relayUrl:r,sdkVersion:s,auth:a,projectId:u,useOnCloseEvent:l,bundleId:g}){const v=r.split("?"),d=t0(o,t,s),E={auth:a,ua:d,projectId:u,useOnCloseEvent:l,origin:g||void 0},_=Yb(v[1]||"",E);return v[0]+"?"+_}function ur(o,t){return o.filter(r=>t.includes(r)).length===o.length}function dl(o){return Object.fromEntries(o.entries())}function gl(o){return new Map(Object.entries(o))}function Ar(o=j.FIVE_MINUTES,t){const r=j.toMiliseconds(o||j.FIVE_MINUTES);let s,a,u;return{resolve:l=>{u&&s&&(clearTimeout(u),s(l))},reject:l=>{u&&a&&(clearTimeout(u),a(l))},done:()=>new Promise((l,g)=>{u=setTimeout(()=>{g(new Error(t))},r),s=l,a=g})}}function Ii(o,t,r){return new Promise(async(s,a)=>{const u=setTimeout(()=>a(new Error(r)),t);try{const l=await o;s(l)}catch(l){a(l)}clearTimeout(u)})}function ml(o,t){if(typeof t=="string"&&t.startsWith(`${o}:`))return t;if(o.toLowerCase()==="topic"){if(typeof t!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}else if(o.toLowerCase()==="id"){if(typeof t!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${o}`)}function i0(o){return ml("topic",o)}function s0(o){return ml("id",o)}function yl(o){const[t,r]=o.split(":"),s={id:void 0,topic:void 0};if(t==="topic"&&typeof r=="string")s.topic=r;else if(t==="id"&&Number.isInteger(Number(r)))s.id=Number(r);else throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return s}function gt(o,t){return j.fromMiliseconds(Date.now()+j.toMiliseconds(o))}function Qt(o){return Date.now()>=j.toMiliseconds(o)}function ye(o,t){return`${o}${t?`:${t}`:""}`}function yo(o=[],t=[]){return[...new Set([...o,...t])]}async function n0({id:o,topic:t,wcDeepLink:r}){try{if(!r)return;const s=typeof r=="string"?JSON.parse(r):r;let a=s==null?void 0:s.href;if(typeof a!="string")return;a.endsWith("/")&&(a=a.slice(0,-1));const u=`${a}/wc?requestId=${o}&sessionTopic=${t}`,l=Si();l===Je.browser?u.startsWith("https://")?window.open(u,"_blank","noreferrer noopener"):window.open(u,"_self","noreferrer noopener"):l===Je.reactNative&&typeof(Y.global==null?void 0:Y.global.Linking)<"u"&&await Y.global.Linking.openURL(u)}catch(s){console.error(s)}}async function o0(o,t){try{return await o.getItem(t)||(Hr()?localStorage.getItem(t):void 0)}catch(r){console.error(r)}}const a0="irn";function jo(o){return(o==null?void 0:o.relay)||{protocol:a0}}function Ns(o){const t=Bw[o];if(typeof t>"u")throw new Error(`Relay Protocol not supported: ${o}`);return t}var c0=Object.defineProperty,nh=Object.getOwnPropertySymbols,u0=Object.prototype.hasOwnProperty,h0=Object.prototype.propertyIsEnumerable,oh=(o,t,r)=>t in o?c0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,l0=(o,t)=>{for(var r in t||(t={}))u0.call(t,r)&&oh(o,r,t[r]);if(nh)for(var r of nh(t))h0.call(t,r)&&oh(o,r,t[r]);return o};function p0(o,t="-"){const r={},s="relay"+t;return Object.keys(o).forEach(a=>{if(a.startsWith(s)){const u=a.replace(s,""),l=o[a];r[u]=l}}),r}function ah(o){o=o.includes("wc://")?o.replace("wc://",""):o,o=o.includes("wc:")?o.replace("wc:",""):o;const t=o.indexOf(":"),r=o.indexOf("?")!==-1?o.indexOf("?"):void 0,s=o.substring(0,t),a=o.substring(t+1,r).split("@"),u=typeof r<"u"?o.substring(r):"",l=Ts.parse(u);return{protocol:s,topic:f0(a[0]),version:parseInt(a[1],10),symKey:l.symKey,relay:p0(l)}}function f0(o){return o.startsWith("//")?o.substring(2):o}function d0(o,t="-"){const r="relay",s={};return Object.keys(o).forEach(a=>{const u=r+t+a;o[a]&&(s[u]=o[a])}),s}function g0(o){return`${o.protocol}:${o.topic}@${o.version}?`+Ts.stringify(l0({symKey:o.symKey},d0(o.relay)))}function Kr(o){const t=[];return o.forEach(r=>{const[s,a]=r.split(":");t.push(`${s}:${a}`)}),t}function m0(o){const t=[];return Object.values(o).forEach(r=>{t.push(...Kr(r.accounts))}),t}function y0(o,t){const r=[];return Object.values(o).forEach(s=>{Kr(s.accounts).includes(t)&&r.push(...s.methods)}),r}function v0(o,t){const r=[];return Object.values(o).forEach(s=>{Kr(s.accounts).includes(t)&&r.push(...s.events)}),r}function w0(o,t){const r=Cs(o,t);if(r)throw new Error(r.message);const s={};for(const[a,u]of Object.entries(o))s[a]={methods:u.methods,events:u.events,chains:u.accounts.map(l=>`${l.split(":")[0]}:${l.split(":")[1]}`)};return s}function ea(o){return o.includes(":")}function wi(o){return ea(o)?o.split(":")[0]:o}const _0={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},b0={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function T(o,t){const{message:r,code:s}=b0[o];return{message:t?`${r} ${t}`:r,code:s}}function me(o,t){const{message:r,code:s}=_0[o];return{message:t?`${r} ${t}`:r,code:s}}function hr(o,t){return!!Array.isArray(o)}function Ur(o){return Object.getPrototypeOf(o)===Object.prototype&&Object.keys(o).length}function Ae(o){return typeof o>"u"}function Ee(o,t){return t&&Ae(o)?!0:typeof o=="string"&&!!o.trim().length}function ta(o,t){return t&&Ae(o)?!0:typeof o=="number"&&!isNaN(o)}function E0(o,t){const{requiredNamespaces:r}=t,s=Object.keys(o.namespaces),a=Object.keys(r);let u=!0;return ur(a,s)?(s.forEach(l=>{const{accounts:g,methods:v,events:d}=o.namespaces[l],E=Kr(g),_=r[l];(!ur(hl(l,_),E)||!ur(_.methods,v)||!ur(_.events,d))&&(u=!1)}),u):!1}function As(o){return Ee(o,!1)&&o.includes(":")?o.split(":").length===2:!1}function I0(o){if(Ee(o,!1)&&o.includes(":")){const t=o.split(":");if(t.length===3){const r=t[0]+":"+t[1];return!!t[2]&&As(r)}}return!1}function P0(o){if(Ee(o,!1))try{return typeof new URL(o)<"u"}catch{return!1}return!1}function S0(o){var t;return(t=o==null?void 0:o.proposer)==null?void 0:t.publicKey}function O0(o){return o==null?void 0:o.topic}function R0(o,t){let r=null;return Ee(o==null?void 0:o.publicKey,!1)||(r=T("MISSING_OR_INVALID",`${t} controller public key should be a string`)),r}function ch(o){let t=!0;return hr(o)?o.length&&(t=o.every(r=>Ee(r,!1))):t=!1,t}function $0(o,t,r){let s=null;return hr(t)&&t.length?t.forEach(a=>{s||As(a)||(s=me("UNSUPPORTED_CHAINS",`${r}, chain ${a} should be a string and conform to "namespace:chainId" format`))}):As(o)||(s=me("UNSUPPORTED_CHAINS",`${r}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),s}function N0(o,t,r){let s=null;return Object.entries(o).forEach(([a,u])=>{if(s)return;const l=$0(a,hl(a,u),`${t} ${r}`);l&&(s=l)}),s}function C0(o,t){let r=null;return hr(o)?o.forEach(s=>{r||I0(s)||(r=me("UNSUPPORTED_ACCOUNTS",`${t}, account ${s} should be a string and conform to "namespace:chainId:address" format`))}):r=me("UNSUPPORTED_ACCOUNTS",`${t}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),r}function T0(o,t){let r=null;return Object.values(o).forEach(s=>{if(r)return;const a=C0(s==null?void 0:s.accounts,`${t} namespace`);a&&(r=a)}),r}function x0(o,t){let r=null;return ch(o==null?void 0:o.methods)?ch(o==null?void 0:o.events)||(r=me("UNSUPPORTED_EVENTS",`${t}, events should be an array of strings or empty array for no events`)):r=me("UNSUPPORTED_METHODS",`${t}, methods should be an array of strings or empty array for no methods`),r}function vl(o,t){let r=null;return Object.values(o).forEach(s=>{if(r)return;const a=x0(s,`${t}, namespace`);a&&(r=a)}),r}function A0(o,t,r){let s=null;if(o&&Ur(o)){const a=vl(o,t);a&&(s=a);const u=N0(o,t,r);u&&(s=u)}else s=T("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return s}function Cs(o,t){let r=null;if(o&&Ur(o)){const s=vl(o,t);s&&(r=s);const a=T0(o,t);a&&(r=a)}else r=T("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return r}function wl(o){return Ee(o.protocol,!0)}function D0(o,t){let r=!1;return o?o&&hr(o)&&o.length&&o.forEach(s=>{r=wl(s)}):r=!0,r}function q0(o){return typeof o=="number"}function He(o){return typeof o<"u"&&typeof o!==null}function j0(o){return!(!o||typeof o!="object"||!o.code||!ta(o.code,!1)||!o.message||!Ee(o.message,!1))}function U0(o){return!(Ae(o)||!Ee(o.method,!1))}function M0(o){return!(Ae(o)||Ae(o.result)&&Ae(o.error)||!ta(o.id,!1)||!Ee(o.jsonrpc,!1))}function L0(o){return!(Ae(o)||!Ee(o.name,!1))}function uh(o,t){return!(!As(t)||!m0(o).includes(t))}function z0(o,t,r){return Ee(r,!1)?y0(o,t).includes(r):!1}function k0(o,t,r){return Ee(r,!1)?v0(o,t).includes(r):!1}function hh(o,t,r){let s=null;const a=H0(o),u=K0(t),l=Object.keys(a),g=Object.keys(u),v=lh(Object.keys(o)),d=lh(Object.keys(t)),E=v.filter(_=>!d.includes(_));return E.length&&(s=T("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces.
|
|
16
|
-
Required: ${E.toString()}
|
|
17
|
-
Received: ${Object.keys(t).toString()}`)),ur(l,g)||(s=T("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces.
|
|
18
|
-
Required: ${l.toString()}
|
|
19
|
-
Approved: ${g.toString()}`)),Object.keys(t).forEach(_=>{if(!_.includes(":")||s)return;const I=Kr(t[_].accounts);I.includes(_)||(s=T("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${_}
|
|
20
|
-
Required: ${_}
|
|
21
|
-
Approved: ${I.toString()}`))}),l.forEach(_=>{s||(ur(a[_].methods,u[_].methods)?ur(a[_].events,u[_].events)||(s=T("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${_}`)):s=T("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${_}`))}),s}function H0(o){const t={};return Object.keys(o).forEach(r=>{var s;r.includes(":")?t[r]=o[r]:(s=o[r].chains)==null||s.forEach(a=>{t[a]={methods:o[r].methods,events:o[r].events}})}),t}function lh(o){return[...new Set(o.map(t=>t.includes(":")?t.split(":")[0]:t))]}function K0(o){const t={};return Object.keys(o).forEach(r=>{if(r.includes(":"))t[r]=o[r];else{const s=Kr(o[r].accounts);s==null||s.forEach(a=>{t[a]={accounts:o[r].accounts.filter(u=>u.includes(`${a}:`)),methods:o[r].methods,events:o[r].events}})}}),t}function V0(o,t){return ta(o,!1)&&o<=t.max&&o>=t.min}function ph(){const o=Si();return new Promise(t=>{switch(o){case Je.browser:t(F0());break;case Je.reactNative:t(W0());break;case Je.node:t(B0());break;default:t(!0)}})}function F0(){return Hr()&&(navigator==null?void 0:navigator.onLine)}async function W0(){if(kr()&&typeof Y.global<"u"&&Y.global!=null&&Y.global.NetInfo){const o=await(Y.global==null?void 0:Y.global.NetInfo.fetch());return o==null?void 0:o.isConnected}return!0}function B0(){return!0}function G0(o){switch(Si()){case Je.browser:Q0(o);break;case Je.reactNative:J0(o);break}}function Q0(o){!kr()&&Hr()&&(window.addEventListener("online",()=>o(!0)),window.addEventListener("offline",()=>o(!1)))}function J0(o){var t;kr()&&typeof Y.global<"u"&&Y.global!=null&&Y.global.NetInfo&&((t=Y.global)==null||t.NetInfo.addEventListener(r=>o(r==null?void 0:r.isConnected)))}const vo={};let Is=class{static get(t){return vo[t]}static set(t,r){vo[t]=r}static delete(t){delete vo[t]}};class jt extends Qw{constructor(t){super(t),this.events=new yt.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(t),this.connection.connected&&this.registerEventListeners()}async connect(t=this.connection){await this.open(t)}async disconnect(){await this.close()}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}off(t,r){this.events.off(t,r)}removeListener(t,r){this.events.removeListener(t,r)}async request(t,r){return this.requestStrict(qr(t.method,t.params||[],t.id||il().toString()),r)}async requestStrict(t,r){return new Promise(async(s,a)=>{if(!this.connection.connected)try{await this.open()}catch(u){a(u)}this.events.on(`${t.id}`,u=>{It(u)?a(u.error):s(u.result)});try{await this.connection.send(t,r)}catch(u){a(u)}})}setConnection(t=this.connection){return t}onPayload(t){this.events.emit("payload",t),qs(t)?this.events.emit(`${t.id}`,t):this.events.emit("message",{type:t.method,data:t.params})}onClose(t){t&&t.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${t.code} ${t.reason?`(${t.reason})`:""}`)),this.events.emit("disconnect")}async open(t=this.connection){this.connection===t&&this.connection.connected||(this.connection.connected&&this.close(),typeof t=="string"&&(await this.connection.open(t),t=this.connection),this.connection=this.setConnection(t),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",t=>this.onPayload(t)),this.connection.on("close",t=>this.onClose(t)),this.connection.on("error",t=>this.events.emit("error",t)),this.connection.on("register_error",t=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const Y0=()=>typeof WebSocket<"u"?WebSocket:typeof Y.global<"u"&&typeof Y.global.WebSocket<"u"?Y.global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),Z0=()=>typeof WebSocket<"u"||typeof Y.global<"u"&&typeof Y.global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",fh=o=>o.split("?")[0],dh=10,X0=Y0();let eE=class{constructor(t){if(this.url=t,this.events=new yt.EventEmitter,this.registering=!1,!zu(t))throw new Error(`Provided URL is not compatible with WebSocket connection: ${t}`);this.url=t}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}off(t,r){this.events.off(t,r)}removeListener(t,r){this.events.removeListener(t,r)}async open(t=this.url){await this.register(t)}async close(){return new Promise((t,r)=>{if(typeof this.socket>"u"){r(new Error("Connection already closed"));return}this.socket.onclose=s=>{this.onClose(s),t()},this.socket.close()})}async send(t){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(ks(t))}catch(r){this.onError(t.id,r)}}register(t=this.url){if(!zu(t))throw new Error(`Provided URL is not compatible with WebSocket connection: ${t}`);if(this.registering){const r=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=r||this.events.listenerCount("open")>=r)&&this.events.setMaxListeners(r+1),new Promise((s,a)=>{this.events.once("register_error",u=>{this.resetMaxListeners(),a(u)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return a(new Error("WebSocket connection is missing or invalid"));s(this.socket)})})}return this.url=t,this.registering=!0,new Promise((r,s)=>{const a=new URLSearchParams(t).get("origin"),u=Jw.isReactNative()?{headers:{origin:a}}:{rejectUnauthorized:!Yw(t)},l=new X0(t,[],u);Z0()?l.onerror=g=>{const v=g;s(this.emitError(v.error))}:l.on("error",g=>{s(this.emitError(g))}),l.onopen=()=>{this.onOpen(l),r(l)}})}onOpen(t){t.onmessage=r=>this.onPayload(r),t.onclose=r=>this.onClose(r),this.socket=t,this.registering=!1,this.events.emit("open")}onClose(t){this.socket=void 0,this.registering=!1,this.events.emit("close",t)}onPayload(t){if(typeof t.data>"u")return;const r=typeof t.data=="string"?zs(t.data):t.data;this.events.emit("payload",r)}onError(t,r){const s=this.parseError(r),a=s.message||s.toString(),u=js(t,a);this.events.emit("payload",u)}parseError(t,r=this.url){return sl(t,fh(r),"WS")}resetMaxListeners(){this.events.getMaxListeners()>dh&&this.events.setMaxListeners(dh)}emitError(t){const r=this.parseError(new Error((t==null?void 0:t.message)||`WebSocket connection failed for host: ${fh(this.url)}`));return this.events.emit("register_error",r),r}};function tE(o,t){return t=t||{},new Promise(function(r,s){var a=new XMLHttpRequest,u=[],l=[],g={},v=function(){return{ok:(a.status/100|0)==2,statusText:a.statusText,status:a.status,url:a.responseURL,text:function(){return Promise.resolve(a.responseText)},json:function(){return Promise.resolve(a.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([a.response]))},clone:v,headers:{keys:function(){return u},entries:function(){return l},get:function(E){return g[E.toLowerCase()]},has:function(E){return E.toLowerCase()in g}}}};for(var d in a.open(t.method||"get",o,!0),a.onload=function(){a.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(E,_,I){u.push(_=_.toLowerCase()),l.push([_,I]),g[_]=g[_]?g[_]+","+I:I}),r(v())},a.onerror=s,a.withCredentials=t.credentials=="include",t.headers)a.setRequestHeader(d,t.headers[d]);a.send(t.body||null)})}const rE=Object.freeze(Object.defineProperty({__proto__:null,default:tE},Symbol.toStringTag,{value:"Module"})),gh=Ko(rE);var iE=self.fetch||(self.fetch=gh.default||gh);const sE=Lw(iE);var nE={};function oE(o,t){if(o.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),s=0;s<r.length;s++)r[s]=255;for(var a=0;a<o.length;a++){var u=o.charAt(a),l=u.charCodeAt(0);if(r[l]!==255)throw new TypeError(u+" is ambiguous");r[l]=a}var g=o.length,v=o.charAt(0),d=Math.log(g)/Math.log(256),E=Math.log(256)/Math.log(g);function _(N){if(N instanceof Uint8Array||(ArrayBuffer.isView(N)?N=new Uint8Array(N.buffer,N.byteOffset,N.byteLength):Array.isArray(N)&&(N=Uint8Array.from(N))),!(N instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(N.length===0)return"";for(var U=0,A=0,V=0,oe=N.length;V!==oe&&N[V]===0;)V++,U++;for(var J=(oe-V)*E+1>>>0,X=new Uint8Array(J);V!==oe;){for(var he=N[V],qe=0,fe=J-1;(he!==0||qe<A)&&fe!==-1;fe--,qe++)he+=256*X[fe]>>>0,X[fe]=he%g>>>0,he=he/g>>>0;if(he!==0)throw new Error("Non-zero carry");A=qe,V++}for(var Ne=J-A;Ne!==J&&X[Ne]===0;)Ne++;for(var Mt=v.repeat(U);Ne<J;++Ne)Mt+=o.charAt(X[Ne]);return Mt}function I(N){if(typeof N!="string")throw new TypeError("Expected String");if(N.length===0)return new Uint8Array;var U=0;if(N[U]!==" "){for(var A=0,V=0;N[U]===v;)A++,U++;for(var oe=(N.length-U)*d+1>>>0,J=new Uint8Array(oe);N[U];){var X=r[N.charCodeAt(U)];if(X===255)return;for(var he=0,qe=oe-1;(X!==0||he<V)&&qe!==-1;qe--,he++)X+=g*J[qe]>>>0,J[qe]=X%256>>>0,X=X/256>>>0;if(X!==0)throw new Error("Non-zero carry");V=he,U++}if(N[U]!==" "){for(var fe=oe-V;fe!==oe&&J[fe]===0;)fe++;for(var Ne=new Uint8Array(A+(oe-fe)),Mt=A;fe!==oe;)Ne[Mt++]=J[fe++];return Ne}}}function C(N){var U=I(N);if(U)return U;throw new Error(`Non-${t} character`)}return{encode:_,decodeUnsafe:I,decode:C}}var aE=oE,cE=aE;const _l=o=>{if(o instanceof Uint8Array&&o.constructor.name==="Uint8Array")return o;if(o instanceof ArrayBuffer)return new Uint8Array(o);if(ArrayBuffer.isView(o))return new Uint8Array(o.buffer,o.byteOffset,o.byteLength);throw new Error("Unknown type, must be binary type")},uE=o=>new TextEncoder().encode(o),hE=o=>new TextDecoder().decode(o);class lE{constructor(t,r,s){this.name=t,this.prefix=r,this.baseEncode=s}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}}class pE{constructor(t,r,s){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=s}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return bl(this,t)}}class fE{constructor(t){this.decoders=t}or(t){return bl(this,t)}decode(t){const r=t[0],s=this.decoders[r];if(s)return s.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const bl=(o,t)=>new fE({...o.decoders||{[o.prefix]:o},...t.decoders||{[t.prefix]:t}});class dE{constructor(t,r,s,a){this.name=t,this.prefix=r,this.baseEncode=s,this.baseDecode=a,this.encoder=new lE(t,r,s),this.decoder=new pE(t,r,a)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}}const Ks=({name:o,prefix:t,encode:r,decode:s})=>new dE(o,t,r,s),Oi=({prefix:o,name:t,alphabet:r})=>{const{encode:s,decode:a}=cE(r,t);return Ks({prefix:o,name:t,encode:s,decode:u=>_l(a(u))})},gE=(o,t,r,s)=>{const a={};for(let E=0;E<t.length;++E)a[t[E]]=E;let u=o.length;for(;o[u-1]==="=";)--u;const l=new Uint8Array(u*r/8|0);let g=0,v=0,d=0;for(let E=0;E<u;++E){const _=a[o[E]];if(_===void 0)throw new SyntaxError(`Non-${s} character`);v=v<<r|_,g+=r,g>=8&&(g-=8,l[d++]=255&v>>g)}if(g>=r||255&v<<8-g)throw new SyntaxError("Unexpected end of data");return l},mE=(o,t,r)=>{const s=t[t.length-1]==="=",a=(1<<r)-1;let u="",l=0,g=0;for(let v=0;v<o.length;++v)for(g=g<<8|o[v],l+=8;l>r;)l-=r,u+=t[a&g>>l];if(l&&(u+=t[a&g<<r-l]),s)for(;u.length*r&7;)u+="=";return u},Se=({name:o,prefix:t,bitsPerChar:r,alphabet:s})=>Ks({prefix:t,name:o,encode(a){return mE(a,s,r)},decode(a){return gE(a,s,r,o)}}),yE=Ks({prefix:"\0",name:"identity",encode:o=>hE(o),decode:o=>uE(o)});var vE=Object.freeze({__proto__:null,identity:yE});const wE=Se({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _E=Object.freeze({__proto__:null,base2:wE});const bE=Se({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var EE=Object.freeze({__proto__:null,base8:bE});const IE=Oi({prefix:"9",name:"base10",alphabet:"0123456789"});var PE=Object.freeze({__proto__:null,base10:IE});const SE=Se({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),OE=Se({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var RE=Object.freeze({__proto__:null,base16:SE,base16upper:OE});const $E=Se({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),NE=Se({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),CE=Se({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),TE=Se({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),xE=Se({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),AE=Se({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),DE=Se({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qE=Se({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),jE=Se({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var UE=Object.freeze({__proto__:null,base32:$E,base32upper:NE,base32pad:CE,base32padupper:TE,base32hex:xE,base32hexupper:AE,base32hexpad:DE,base32hexpadupper:qE,base32z:jE});const ME=Oi({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),LE=Oi({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var zE=Object.freeze({__proto__:null,base36:ME,base36upper:LE});const kE=Oi({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),HE=Oi({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var KE=Object.freeze({__proto__:null,base58btc:kE,base58flickr:HE});const VE=Se({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),FE=Se({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),WE=Se({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),BE=Se({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var GE=Object.freeze({__proto__:null,base64:VE,base64pad:FE,base64url:WE,base64urlpad:BE});const El=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),QE=El.reduce((o,t,r)=>(o[r]=t,o),[]),JE=El.reduce((o,t,r)=>(o[t.codePointAt(0)]=r,o),[]);function YE(o){return o.reduce((t,r)=>(t+=QE[r],t),"")}function ZE(o){const t=[];for(const r of o){const s=JE[r.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(s)}return new Uint8Array(t)}const XE=Ks({prefix:"🚀",name:"base256emoji",encode:YE,decode:ZE});var eI=Object.freeze({__proto__:null,base256emoji:XE}),tI=Il,mh=128,rI=-128,iI=Math.pow(2,31);function Il(o,t,r){t=t||[],r=r||0;for(var s=r;o>=iI;)t[r++]=o&255|mh,o/=128;for(;o&rI;)t[r++]=o&255|mh,o>>>=7;return t[r]=o|0,Il.bytes=r-s+1,t}var sI=Uo,nI=128,yh=127;function Uo(o,s){var r=0,s=s||0,a=0,u=s,l,g=o.length;do{if(u>=g)throw Uo.bytes=0,new RangeError("Could not decode varint");l=o[u++],r+=a<28?(l&yh)<<a:(l&yh)*Math.pow(2,a),a+=7}while(l>=nI);return Uo.bytes=u-s,r}var oI=Math.pow(2,7),aI=Math.pow(2,14),cI=Math.pow(2,21),uI=Math.pow(2,28),hI=Math.pow(2,35),lI=Math.pow(2,42),pI=Math.pow(2,49),fI=Math.pow(2,56),dI=Math.pow(2,63),gI=function(o){return o<oI?1:o<aI?2:o<cI?3:o<uI?4:o<hI?5:o<lI?6:o<pI?7:o<fI?8:o<dI?9:10},mI={encode:tI,decode:sI,encodingLength:gI},Pl=mI;const vh=(o,t,r=0)=>(Pl.encode(o,t,r),t),wh=o=>Pl.encodingLength(o),Mo=(o,t)=>{const r=t.byteLength,s=wh(o),a=s+wh(r),u=new Uint8Array(a+r);return vh(o,u,0),vh(r,u,s),u.set(t,a),new yI(o,r,t,u)};class yI{constructor(t,r,s,a){this.code=t,this.size=r,this.digest=s,this.bytes=a}}const Sl=({name:o,code:t,encode:r})=>new vI(o,t,r);class vI{constructor(t,r,s){this.name=t,this.code=r,this.encode=s}digest(t){if(t instanceof Uint8Array){const r=this.encode(t);return r instanceof Uint8Array?Mo(this.code,r):r.then(s=>Mo(this.code,s))}else throw Error("Unknown type, must be binary type")}}const Ol=o=>async t=>new Uint8Array(await crypto.subtle.digest(o,t)),wI=Sl({name:"sha2-256",code:18,encode:Ol("SHA-256")}),_I=Sl({name:"sha2-512",code:19,encode:Ol("SHA-512")});var bI=Object.freeze({__proto__:null,sha256:wI,sha512:_I});const Rl=0,EI="identity",$l=_l,II=o=>Mo(Rl,$l(o)),PI={code:Rl,name:EI,encode:$l,digest:II};var SI=Object.freeze({__proto__:null,identity:PI});new TextEncoder,new TextDecoder;const _h={...vE,..._E,...EE,...PE,...RE,...UE,...zE,...KE,...GE,...eI};({...bI,...SI});function Nl(o){return globalThis.Buffer!=null?new Uint8Array(o.buffer,o.byteOffset,o.byteLength):o}function OI(o=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Nl(globalThis.Buffer.allocUnsafe(o)):new Uint8Array(o)}function Cl(o,t,r,s){return{name:o,prefix:t,encoder:{name:o,prefix:t,encode:r},decoder:{decode:s}}}const bh=Cl("utf8","u",o=>"u"+new TextDecoder("utf8").decode(o),o=>new TextEncoder().encode(o.substring(1))),wo=Cl("ascii","a",o=>{let t="a";for(let r=0;r<o.length;r++)t+=String.fromCharCode(o[r]);return t},o=>{o=o.substring(1);const t=OI(o.length);for(let r=0;r<o.length;r++)t[r]=o.charCodeAt(r);return t}),RI={utf8:bh,"utf-8":bh,hex:_h.base16,latin1:wo,ascii:wo,binary:wo,..._h};function $I(o,t="utf8"){const r=RI[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Nl(globalThis.Buffer.from(o,"utf-8")):r.decoder.decode(`${r.prefix}${o}`)}const Tl="wc",NI=2,xl="core",Jt=`${Tl}@2:${xl}:`,CI={logger:"error"},TI={database:":memory:"},xI="crypto",Eh="client_ed25519_seed",AI=j.ONE_DAY,DI="keychain",qI="0.3",jI="messages",UI="0.3",MI=j.SIX_HOURS,LI="publisher",Al="irn",zI="error",Dl="wss://relay.walletconnect.com",Ih="wss://relay.walletconnect.org",kI="relayer",$e={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",publish:"relayer_publish"},HI="_subscription",Dt={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},KI=j.ONE_SECOND,VI="2.11.0",FI=1e4,WI="0.3",BI="WALLETCONNECT_CLIENT_ID",dt={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},GI="subscription",QI="0.3",JI=j.FIVE_SECONDS*1e3,YI="pairing",ZI="0.3",di={wc_pairingDelete:{req:{ttl:j.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:j.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:j.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:j.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:j.ONE_DAY,prompt:!1,tag:0},res:{ttl:j.ONE_DAY,prompt:!1,tag:0}}},_i={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Et={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},XI="history",e1="0.3",t1="expirer",ot={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},r1="0.3",_o="verify-api",Dr="https://verify.walletconnect.com",Lo="https://verify.walletconnect.org",i1=[Dr,Lo],s1="echo",n1="https://echo.walletconnect.com";class o1{constructor(t,r){this.core=t,this.logger=r,this.keychain=new Map,this.name=DI,this.version=qI,this.initialized=!1,this.storagePrefix=Jt,this.init=async()=>{if(!this.initialized){const s=await this.getKeyChain();typeof s<"u"&&(this.keychain=s),this.initialized=!0}},this.has=s=>(this.isInitialized(),this.keychain.has(s)),this.set=async(s,a)=>{this.isInitialized(),this.keychain.set(s,a),await this.persist()},this.get=s=>{this.isInitialized();const a=this.keychain.get(s);if(typeof a>"u"){const{message:u}=T("NO_MATCHING_KEY",`${this.name}: ${s}`);throw new Error(u)}return a},this.del=async s=>{this.isInitialized(),this.keychain.delete(s),await this.persist()},this.core=t,this.logger=Ke(r,this.name)}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(t){await this.core.storage.setItem(this.storageKey,dl(t))}async getKeyChain(){const t=await this.core.storage.getItem(this.storageKey);return typeof t<"u"?gl(t):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class a1{constructor(t,r,s){this.core=t,this.logger=r,this.name=xI,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=a=>(this.isInitialized(),this.keychain.has(a)),this.getClientId=async()=>{this.isInitialized();const a=await this.getClientSeed(),u=ku(a);return Zw(u.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const a=Ub();return this.setPrivateKey(a.publicKey,a.privateKey)},this.signJWT=async a=>{this.isInitialized();const u=await this.getClientSeed(),l=ku(u),g=qo();return await Xw(g,a,AI,l)},this.generateSharedKey=(a,u,l)=>{this.isInitialized();const g=this.getPrivateKey(a),v=Mb(g,u);return this.setSymKey(v,l)},this.setSymKey=async(a,u)=>{this.isInitialized();const l=u||Lb(a);return await this.keychain.set(l,a),l},this.deleteKeyPair=async a=>{this.isInitialized(),await this.keychain.del(a)},this.deleteSymKey=async a=>{this.isInitialized(),await this.keychain.del(a)},this.encode=async(a,u,l)=>{this.isInitialized();const g=fl(l),v=ks(u);if(th(g)){const I=g.senderPublicKey,C=g.receiverPublicKey;a=await this.generateSharedKey(I,C)}const d=this.getSymKey(a),{type:E,senderPublicKey:_}=g;return kb({type:E,symKey:d,message:v,senderPublicKey:_})},this.decode=async(a,u,l)=>{this.isInitialized();const g=Vb(u,l);if(th(g)){const v=g.receiverPublicKey,d=g.senderPublicKey;a=await this.generateSharedKey(v,d)}try{const v=this.getSymKey(a),d=Hb({symKey:v,encoded:u});return zs(d)}catch(v){this.logger.error(`Failed to decode message from topic: '${a}', clientId: '${await this.getClientId()}'`),this.logger.error(v)}},this.getPayloadType=a=>{const u=xs(a);return Pi(u.type)},this.getPayloadSenderPublicKey=a=>{const u=xs(a);return u.senderPublicKey?at(u.senderPublicKey,De):void 0},this.core=t,this.logger=Ke(r,this.name),this.keychain=s||new o1(this.core,this.logger)}get context(){return Ye(this.logger)}async setPrivateKey(t,r){return await this.keychain.set(t,r),t}getPrivateKey(t){return this.keychain.get(t)}async getClientSeed(){let t="";try{t=this.keychain.get(Eh)}catch{t=qo(),await this.keychain.set(Eh,t)}return $I(t,"base16")}getSymKey(t){return this.keychain.get(t)}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class c1 extends fb{constructor(t,r){super(t,r),this.logger=t,this.core=r,this.messages=new Map,this.name=jI,this.version=UI,this.initialized=!1,this.storagePrefix=Jt,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const s=await this.getRelayerMessages();typeof s<"u"&&(this.messages=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(s){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(s)}finally{this.initialized=!0}}},this.set=async(s,a)=>{this.isInitialized();const u=jr(a);let l=this.messages.get(s);return typeof l>"u"&&(l={}),typeof l[u]<"u"||(l[u]=a,this.messages.set(s,l),await this.persist()),u},this.get=s=>{this.isInitialized();let a=this.messages.get(s);return typeof a>"u"&&(a={}),a},this.has=(s,a)=>{this.isInitialized();const u=this.get(s),l=jr(a);return typeof u[l]<"u"},this.del=async s=>{this.isInitialized(),this.messages.delete(s),await this.persist()},this.logger=Ke(t,this.name),this.core=r}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(t){await this.core.storage.setItem(this.storageKey,dl(t))}async getRelayerMessages(){const t=await this.core.storage.getItem(this.storageKey);return typeof t<"u"?gl(t):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class u1 extends db{constructor(t,r){super(t,r),this.relayer=t,this.logger=r,this.events=new yt.EventEmitter,this.name=LI,this.queue=new Map,this.publishTimeout=j.toMiliseconds(j.TEN_SECONDS),this.needsTransportRestart=!1,this.publish=async(s,a,u)=>{var l;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:s,message:a,opts:u}});try{const g=(u==null?void 0:u.ttl)||MI,v=jo(u),d=(u==null?void 0:u.prompt)||!1,E=(u==null?void 0:u.tag)||0,_=(u==null?void 0:u.id)||il().toString(),I={topic:s,message:a,opts:{ttl:g,relay:v,prompt:d,tag:E,id:_}},C=setTimeout(()=>this.queue.set(_,I),this.publishTimeout);try{await await Ii(this.rpcPublish(s,a,g,v,d,E,_),this.publishTimeout,"Failed to publish payload, please try again."),this.removeRequestFromQueue(_),this.relayer.events.emit($e.publish,I)}catch(N){if(this.logger.debug("Publishing Payload stalled"),this.needsTransportRestart=!0,(l=u==null?void 0:u.internal)!=null&&l.throwOnFailedPublish)throw this.removeRequestFromQueue(_),N;return}finally{clearTimeout(C)}this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:s,message:a,opts:u}})}catch(g){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(g),g}},this.on=(s,a)=>{this.events.on(s,a)},this.once=(s,a)=>{this.events.once(s,a)},this.off=(s,a)=>{this.events.off(s,a)},this.removeListener=(s,a)=>{this.events.removeListener(s,a)},this.relayer=t,this.logger=Ke(r,this.name),this.registerEventListeners()}get context(){return Ye(this.logger)}rpcPublish(t,r,s,a,u,l,g){var v,d,E,_;const I={method:Ns(a.protocol).publish,params:{topic:t,message:r,ttl:s,prompt:u,tag:l},id:g};return Ae((v=I.params)==null?void 0:v.prompt)&&((d=I.params)==null||delete d.prompt),Ae((E=I.params)==null?void 0:E.tag)&&((_=I.params)==null||delete _.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I}),this.relayer.request(I)}removeRequestFromQueue(t){this.queue.delete(t)}checkQueue(){this.queue.forEach(async t=>{const{topic:r,message:s,opts:a}=t;await this.publish(r,s,a)})}registerEventListeners(){this.relayer.core.heartbeat.on(Lr.HEARTBEAT_EVENTS.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit($e.connection_stalled);return}this.checkQueue()}),this.relayer.on($e.message_ack,t=>{this.removeRequestFromQueue(t.id.toString())})}}class h1{constructor(){this.map=new Map,this.set=(t,r)=>{const s=this.get(t);this.exists(t,r)||this.map.set(t,[...s,r])},this.get=t=>this.map.get(t)||[],this.exists=(t,r)=>this.get(t).includes(r),this.delete=(t,r)=>{if(typeof r>"u"){this.map.delete(t);return}if(!this.map.has(t))return;const s=this.get(t);if(!this.exists(t,r))return;const a=s.filter(u=>u!==r);if(!a.length){this.map.delete(t);return}this.map.set(t,a)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var l1=Object.defineProperty,p1=Object.defineProperties,f1=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,d1=Object.prototype.hasOwnProperty,g1=Object.prototype.propertyIsEnumerable,Sh=(o,t,r)=>t in o?l1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,gi=(o,t)=>{for(var r in t||(t={}))d1.call(t,r)&&Sh(o,r,t[r]);if(Ph)for(var r of Ph(t))g1.call(t,r)&&Sh(o,r,t[r]);return o},bo=(o,t)=>p1(o,f1(t));class m1 extends yb{constructor(t,r){super(t,r),this.relayer=t,this.logger=r,this.subscriptions=new Map,this.topicMap=new h1,this.events=new yt.EventEmitter,this.name=GI,this.version=QI,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=Jt,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(s,a)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:s,opts:a}});try{const u=jo(a),l={topic:s,relay:u};this.pending.set(s,l);const g=await this.rpcSubscribe(s,u);return this.onSubscribe(g,l),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:s,opts:a}}),g}catch(u){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(u),u}},this.unsubscribe=async(s,a)=>{await this.restartToComplete(),this.isInitialized(),typeof(a==null?void 0:a.id)<"u"?await this.unsubscribeById(s,a.id,a):await this.unsubscribeByTopic(s,a)},this.isSubscribed=async s=>this.topics.includes(s)?!0:await new Promise((a,u)=>{const l=new j.Watch;l.start(this.pendingSubscriptionWatchLabel);const g=setInterval(()=>{!this.pending.has(s)&&this.topics.includes(s)&&(clearInterval(g),l.stop(this.pendingSubscriptionWatchLabel),a(!0)),l.elapsed(this.pendingSubscriptionWatchLabel)>=JI&&(clearInterval(g),l.stop(this.pendingSubscriptionWatchLabel),u(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1),this.on=(s,a)=>{this.events.on(s,a)},this.once=(s,a)=>{this.events.once(s,a)},this.off=(s,a)=>{this.events.off(s,a)},this.removeListener=(s,a)=>{this.events.removeListener(s,a)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=t,this.logger=Ke(r,this.name),this.clientId=""}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(t,r){let s=!1;try{s=this.getSubscription(t).topic===r}catch{}return s}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(t,r){const s=this.topicMap.get(t);await Promise.all(s.map(async a=>await this.unsubscribeById(t,a,r)))}async unsubscribeById(t,r,s){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:t,id:r,opts:s}});try{const a=jo(s);await this.rpcUnsubscribe(t,r,a);const u=me("USER_DISCONNECTED",`${this.name}, ${t}`);await this.onUnsubscribe(t,r,u),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:t,id:r,opts:s}})}catch(a){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(a),a}}async rpcSubscribe(t,r){const s={method:Ns(r.protocol).subscribe,params:{topic:t}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});try{await await Ii(this.relayer.request(s),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit($e.connection_stalled)}return jr(t+this.clientId)}async rpcBatchSubscribe(t){if(!t.length)return;const r=t[0].relay,s={method:Ns(r.protocol).batchSubscribe,params:{topics:t.map(a=>a.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});try{return await await Ii(this.relayer.request(s),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit($e.connection_stalled)}}rpcUnsubscribe(t,r,s){const a={method:Ns(s.protocol).unsubscribe,params:{topic:t,id:r}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a}),this.relayer.request(a)}onSubscribe(t,r){this.setSubscription(t,bo(gi({},r),{id:t})),this.pending.delete(r.topic)}onBatchSubscribe(t){t.length&&t.forEach(r=>{this.setSubscription(r.id,gi({},r)),this.pending.delete(r.topic)})}async onUnsubscribe(t,r,s){this.events.removeAllListeners(r),this.hasSubscription(r,t)&&this.deleteSubscription(r,s),await this.relayer.messages.del(t)}async setRelayerSubscriptions(t){await this.relayer.core.storage.setItem(this.storageKey,t)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(t,r){this.subscriptions.has(t)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:t,subscription:r}),this.addSubscription(t,r))}addSubscription(t,r){this.subscriptions.set(t,gi({},r)),this.topicMap.set(r.topic,t),this.events.emit(dt.created,r)}getSubscription(t){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:t});const r=this.subscriptions.get(t);if(!r){const{message:s}=T("NO_MATCHING_KEY",`${this.name}: ${t}`);throw new Error(s)}return r}deleteSubscription(t,r){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:t,reason:r});const s=this.getSubscription(t);this.subscriptions.delete(t),this.topicMap.delete(s.topic,t),this.events.emit(dt.deleted,bo(gi({},s),{reason:r}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(dt.sync)}async reset(){if(this.cached.length){const t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){const s=this.cached.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit(dt.resubscribed)}async restore(){try{const t=await this.getRelayerSubscriptions();if(typeof t>"u"||!t.length)return;if(this.subscriptions.size){const{message:r}=T("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(r)}this.cached=t,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(t){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(t)}}async batchSubscribe(t){if(!t.length)return;const r=await this.rpcBatchSubscribe(t);hr(r)&&this.onBatchSubscribe(r.map((s,a)=>bo(gi({},t[a]),{id:s})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||this.relayer.transportExplicitlyClosed)return;const t=[];this.pending.forEach(r=>{t.push(r)}),await this.batchSubscribe(t)}registerEventListeners(){this.relayer.core.heartbeat.on(Lr.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on($e.connect,async()=>{await this.onConnect()}),this.relayer.on($e.disconnect,()=>{this.onDisconnect()}),this.events.on(dt.created,async t=>{const r=dt.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:t}),await this.persist()}),this.events.on(dt.deleted,async t=>{const r=dt.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:t}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}async restartToComplete(){this.restartInProgress&&await new Promise(t=>{const r=setInterval(()=>{this.restartInProgress||(clearInterval(r),t())},this.pollingInterval)})}}var y1=Object.defineProperty,Oh=Object.getOwnPropertySymbols,v1=Object.prototype.hasOwnProperty,w1=Object.prototype.propertyIsEnumerable,Rh=(o,t,r)=>t in o?y1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,_1=(o,t)=>{for(var r in t||(t={}))v1.call(t,r)&&Rh(o,r,t[r]);if(Oh)for(var r of Oh(t))w1.call(t,r)&&Rh(o,r,t[r]);return o};class b1 extends gb{constructor(t){super(t),this.protocol="wc",this.version=2,this.events=new yt.EventEmitter,this.name=kI,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.hasExperiencedNetworkDisruption=!1,this.request=async r=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(r)}catch(s){throw this.logger.debug("Failed to Publish Request"),this.logger.error(s),s}},this.onPayloadHandler=r=>{this.onProviderPayload(r)},this.onConnectHandler=()=>{this.events.emit($e.connect)},this.onDisconnectHandler=()=>{this.onProviderDisconnect()},this.onProviderErrorHandler=r=>{this.logger.error(r),this.events.emit($e.error,r),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Dt.payload,this.onPayloadHandler),this.provider.on(Dt.connect,this.onConnectHandler),this.provider.on(Dt.disconnect,this.onDisconnectHandler),this.provider.on(Dt.error,this.onProviderErrorHandler)},this.core=t.core,this.logger=typeof t.logger<"u"&&typeof t.logger!="string"?Ke(t.logger,this.name):Us(Ms({level:t.logger||zI})),this.messages=new c1(this.logger,t.core),this.subscriber=new m1(this,this.logger),this.publisher=new u1(this,this.logger),this.relayUrl=(t==null?void 0:t.relayUrl)||Dl,this.projectId=t.projectId,this.bundleId=Jb(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await this.createProvider(),await Promise.all([this.messages.init(),this.subscriber.init()]);try{await this.transportOpen()}catch{this.logger.warn(`Connection via ${this.relayUrl} failed, attempting to connect via failover domain ${Ih}...`),await this.restartTransport(Ih)}this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},FI)}get context(){return Ye(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(t,r,s){this.isInitialized(),await this.publisher.publish(t,r,s),await this.recordMessageEvent({topic:t,message:r,publishedAt:Date.now()})}async subscribe(t,r){var s;this.isInitialized();let a=((s=this.subscriber.topicMap.get(t))==null?void 0:s[0])||"";if(a)return a;let u;const l=g=>{g.topic===t&&(this.subscriber.off(dt.created,l),u())};return await Promise.all([new Promise(g=>{u=g,this.subscriber.on(dt.created,l)}),new Promise(async g=>{a=await this.subscriber.subscribe(t,r),g()})]),a}async unsubscribe(t,r){this.isInitialized(),await this.subscriber.unsubscribe(t,r)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}off(t,r){this.events.off(t,r)}removeListener(t,r){this.events.removeListener(t,r)}async transportClose(){this.transportExplicitlyClosed=!0,this.hasExperiencedNetworkDisruption&&this.connected?await Ii(this.provider.disconnect(),1e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.connected&&await this.provider.disconnect()}async transportOpen(t){if(this.transportExplicitlyClosed=!1,await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress){t&&t!==this.relayUrl&&(this.relayUrl=t,await this.transportClose(),await this.createProvider()),this.connectionAttemptInProgress=!0;try{await Promise.all([new Promise(r=>{if(!this.initialized)return r();this.subscriber.once(dt.resubscribed,()=>{r()})}),new Promise(async(r,s)=>{try{await Ii(this.provider.connect(),1e4,`Socket stalled when trying to connect to ${this.relayUrl}`)}catch(a){s(a);return}r()})])}catch(r){this.logger.error(r);const s=r;if(!this.isConnectionStalled(s.message))throw r;this.provider.events.emit(Dt.disconnect)}finally{this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1}}}async restartTransport(t){await this.confirmOnlineStateOrThrow(),!this.connectionAttemptInProgress&&(this.relayUrl=t||this.relayUrl,await this.transportClose(),await this.createProvider(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await ph())throw new Error("No internet connection detected. Please restart your network and try again.")}isConnectionStalled(t){return this.staleConnectionErrors.some(r=>t.includes(r))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const t=await this.core.crypto.signJWT(this.relayUrl);this.provider=new jt(new eE(r0({sdkVersion:VI,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:t,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(t){const{topic:r,message:s}=t;await this.messages.set(r,s)}async shouldIgnoreMessageEvent(t){const{topic:r,message:s}=t;if(!s||s.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${s}`),!0;if(!await this.subscriber.isSubscribed(r))return this.logger.debug(`Ignoring message for non-subscribed topic ${r}`),!0;const a=this.messages.has(r,s);return a&&this.logger.debug(`Ignoring duplicate message: ${s}`),a}async onProviderPayload(t){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:t}),Wo(t)){if(!t.method.endsWith(HI))return;const r=t.params,{topic:s,message:a,publishedAt:u}=r.data,l={topic:s,message:a,publishedAt:u};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(_1({type:"event",event:r.id},l)),this.events.emit(r.id,l),await this.acknowledgePayload(t),await this.onMessageEvent(l)}else qs(t)&&this.events.emit($e.message_ack,t)}async onMessageEvent(t){await this.shouldIgnoreMessageEvent(t)||(this.events.emit($e.message,t),await this.recordMessageEvent(t))}async acknowledgePayload(t){const r=Ls(t.id,!0);await this.provider.connection.send(r)}unregisterProviderListeners(){this.provider.off(Dt.payload,this.onPayloadHandler),this.provider.off(Dt.connect,this.onConnectHandler),this.provider.off(Dt.disconnect,this.onDisconnectHandler),this.provider.off(Dt.error,this.onProviderErrorHandler)}async registerEventListeners(){this.events.on($e.connection_stalled,()=>{this.restartTransport().catch(r=>this.logger.error(r))});let t=await ph();G0(async r=>{this.initialized&&t!==r&&(t=r,r?await this.restartTransport().catch(s=>this.logger.error(s)):(this.hasExperiencedNetworkDisruption=!0,await this.transportClose().catch(s=>this.logger.error(s))))})}onProviderDisconnect(){this.events.emit($e.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||(this.logger.info("attemptToReconnect called. Connecting..."),setTimeout(async()=>{await this.restartTransport().catch(t=>this.logger.error(t))},j.toMiliseconds(KI)))}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectionAttemptInProgress)return await new Promise(t=>{const r=setInterval(()=>{this.connected&&(clearInterval(r),t())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var E1=Object.defineProperty,$h=Object.getOwnPropertySymbols,I1=Object.prototype.hasOwnProperty,P1=Object.prototype.propertyIsEnumerable,Nh=(o,t,r)=>t in o?E1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,Ch=(o,t)=>{for(var r in t||(t={}))I1.call(t,r)&&Nh(o,r,t[r]);if($h)for(var r of $h(t))P1.call(t,r)&&Nh(o,r,t[r]);return o};class Vs extends mb{constructor(t,r,s,a=Jt,u=void 0){super(t,r,s,a),this.core=t,this.logger=r,this.name=s,this.map=new Map,this.version=WI,this.cached=[],this.initialized=!1,this.storagePrefix=Jt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(l=>{this.getKey&&l!==null&&!Ae(l)?this.map.set(this.getKey(l),l):S0(l)?this.map.set(l.id,l):O0(l)&&this.map.set(l.topic,l)}),this.cached=[],this.initialized=!0)},this.set=async(l,g)=>{this.isInitialized(),this.map.has(l)?await this.update(l,g):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:l,value:g}),this.map.set(l,g),await this.persist())},this.get=l=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:l}),this.getData(l)),this.getAll=l=>(this.isInitialized(),l?this.values.filter(g=>Object.keys(l).every(v=>e_(g[v],l[v]))):this.values),this.update=async(l,g)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:l,update:g});const v=Ch(Ch({},this.getData(l)),g);this.map.set(l,v),await this.persist()},this.delete=async(l,g)=>{this.isInitialized(),this.map.has(l)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:l,reason:g}),this.map.delete(l),await this.persist())},this.logger=Ke(r,this.name),this.storagePrefix=a,this.getKey=u}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(t){await this.core.storage.setItem(this.storageKey,t)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(t){const r=this.map.get(t);if(!r){const{message:s}=T("NO_MATCHING_KEY",`${this.name}: ${t}`);throw this.logger.error(s),new Error(s)}return r}async persist(){await this.setDataStore(this.values)}async restore(){try{const t=await this.getDataStore();if(typeof t>"u"||!t.length)return;if(this.map.size){const{message:r}=T("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=t,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(t){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(t)}}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class S1{constructor(t,r){this.core=t,this.logger=r,this.name=YI,this.version=ZI,this.events=new Vo,this.initialized=!1,this.storagePrefix=Jt,this.ignoredPayloadTypes=[dr],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:s})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...s])]},this.create=async()=>{this.isInitialized();const s=qo(),a=await this.core.crypto.setSymKey(s),u=gt(j.FIVE_MINUTES),l={protocol:Al},g={topic:a,expiry:u,relay:l,active:!1},v=g0({protocol:this.core.protocol,version:this.core.version,topic:a,symKey:s,relay:l});return await this.pairings.set(a,g),await this.core.relayer.subscribe(a),this.core.expirer.set(a,u),{topic:a,uri:v}},this.pair=async s=>{this.isInitialized(),this.isValidPair(s);const{topic:a,symKey:u,relay:l}=ah(s.uri);let g;if(this.pairings.keys.includes(a)&&(g=this.pairings.get(a),g.active))throw new Error(`Pairing already exists: ${a}. Please try again with a new connection URI.`);const v=gt(j.FIVE_MINUTES),d={topic:a,relay:l,expiry:v,active:!1};return await this.pairings.set(a,d),this.core.expirer.set(a,v),s.activatePairing&&await this.activate({topic:a}),this.events.emit(_i.create,d),this.core.crypto.keychain.has(a)||(await this.core.crypto.setSymKey(u,a),await this.core.relayer.subscribe(a,{relay:l})),d},this.activate=async({topic:s})=>{this.isInitialized();const a=gt(j.THIRTY_DAYS);await this.pairings.update(s,{active:!0,expiry:a}),this.core.expirer.set(s,a)},this.ping=async s=>{this.isInitialized(),await this.isValidPing(s);const{topic:a}=s;if(this.pairings.keys.includes(a)){const u=await this.sendRequest(a,"wc_pairingPing",{}),{done:l,resolve:g,reject:v}=Ar();this.events.once(ye("pairing_ping",u),({error:d})=>{d?v(d):g()}),await l()}},this.updateExpiry=async({topic:s,expiry:a})=>{this.isInitialized(),await this.pairings.update(s,{expiry:a})},this.updateMetadata=async({topic:s,metadata:a})=>{this.isInitialized(),await this.pairings.update(s,{peerMetadata:a})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async s=>{this.isInitialized(),await this.isValidDisconnect(s);const{topic:a}=s;this.pairings.keys.includes(a)&&(await this.sendRequest(a,"wc_pairingDelete",me("USER_DISCONNECTED")),await this.deletePairing(a))},this.sendRequest=async(s,a,u)=>{const l=qr(a,u),g=await this.core.crypto.encode(s,l),v=di[a].req;return this.core.history.set(s,l),this.core.relayer.publish(s,g,v),l.id},this.sendResult=async(s,a,u)=>{const l=Ls(s,u),g=await this.core.crypto.encode(a,l),v=await this.core.history.get(a,s),d=di[v.request.method].res;await this.core.relayer.publish(a,g,d),await this.core.history.resolve(l)},this.sendError=async(s,a,u)=>{const l=js(s,u),g=await this.core.crypto.encode(a,l),v=await this.core.history.get(a,s),d=di[v.request.method]?di[v.request.method].res:di.unregistered_method.res;await this.core.relayer.publish(a,g,d),await this.core.history.resolve(l)},this.deletePairing=async(s,a)=>{await this.core.relayer.unsubscribe(s),await Promise.all([this.pairings.delete(s,me("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(s),a?Promise.resolve():this.core.expirer.del(s)])},this.cleanup=async()=>{const s=this.pairings.getAll().filter(a=>Qt(a.expiry));await Promise.all(s.map(a=>this.deletePairing(a.topic)))},this.onRelayEventRequest=s=>{const{topic:a,payload:u}=s;switch(u.method){case"wc_pairingPing":return this.onPairingPingRequest(a,u);case"wc_pairingDelete":return this.onPairingDeleteRequest(a,u);default:return this.onUnknownRpcMethodRequest(a,u)}},this.onRelayEventResponse=async s=>{const{topic:a,payload:u}=s,l=(await this.core.history.get(a,u.id)).request.method;switch(l){case"wc_pairingPing":return this.onPairingPingResponse(a,u);default:return this.onUnknownRpcMethodResponse(l)}},this.onPairingPingRequest=async(s,a)=>{const{id:u}=a;try{this.isValidPing({topic:s}),await this.sendResult(u,s,!0),this.events.emit(_i.ping,{id:u,topic:s})}catch(l){await this.sendError(u,s,l),this.logger.error(l)}},this.onPairingPingResponse=(s,a)=>{const{id:u}=a;setTimeout(()=>{Gt(a)?this.events.emit(ye("pairing_ping",u),{}):It(a)&&this.events.emit(ye("pairing_ping",u),{error:a.error})},500)},this.onPairingDeleteRequest=async(s,a)=>{const{id:u}=a;try{this.isValidDisconnect({topic:s}),await this.deletePairing(s),this.events.emit(_i.delete,{id:u,topic:s})}catch(l){await this.sendError(u,s,l),this.logger.error(l)}},this.onUnknownRpcMethodRequest=async(s,a)=>{const{id:u,method:l}=a;try{if(this.registeredMethods.includes(l))return;const g=me("WC_METHOD_UNSUPPORTED",l);await this.sendError(u,s,g),this.logger.error(g)}catch(g){await this.sendError(u,s,g),this.logger.error(g)}},this.onUnknownRpcMethodResponse=s=>{this.registeredMethods.includes(s)||this.logger.error(me("WC_METHOD_UNSUPPORTED",s))},this.isValidPair=s=>{var a;if(!He(s)){const{message:l}=T("MISSING_OR_INVALID",`pair() params: ${s}`);throw new Error(l)}if(!P0(s.uri)){const{message:l}=T("MISSING_OR_INVALID",`pair() uri: ${s.uri}`);throw new Error(l)}const u=ah(s.uri);if(!((a=u==null?void 0:u.relay)!=null&&a.protocol)){const{message:l}=T("MISSING_OR_INVALID","pair() uri#relay-protocol");throw new Error(l)}if(!(u!=null&&u.symKey)){const{message:l}=T("MISSING_OR_INVALID","pair() uri#symKey");throw new Error(l)}},this.isValidPing=async s=>{if(!He(s)){const{message:u}=T("MISSING_OR_INVALID",`ping() params: ${s}`);throw new Error(u)}const{topic:a}=s;await this.isValidPairingTopic(a)},this.isValidDisconnect=async s=>{if(!He(s)){const{message:u}=T("MISSING_OR_INVALID",`disconnect() params: ${s}`);throw new Error(u)}const{topic:a}=s;await this.isValidPairingTopic(a)},this.isValidPairingTopic=async s=>{if(!Ee(s,!1)){const{message:a}=T("MISSING_OR_INVALID",`pairing topic should be a string: ${s}`);throw new Error(a)}if(!this.pairings.keys.includes(s)){const{message:a}=T("NO_MATCHING_KEY",`pairing topic doesn't exist: ${s}`);throw new Error(a)}if(Qt(this.pairings.get(s).expiry)){await this.deletePairing(s);const{message:a}=T("EXPIRED",`pairing topic: ${s}`);throw new Error(a)}},this.core=t,this.logger=Ke(r,this.name),this.pairings=new Vs(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Ye(this.logger)}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}registerRelayerEvents(){this.core.relayer.on($e.message,async t=>{const{topic:r,message:s}=t;if(!this.pairings.keys.includes(r)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(s)))return;const a=await this.core.crypto.decode(r,s);try{Wo(a)?(this.core.history.set(r,a),this.onRelayEventRequest({topic:r,payload:a})):qs(a)&&(await this.core.history.resolve(a),await this.onRelayEventResponse({topic:r,payload:a}),this.core.history.delete(r,a.id))}catch(u){this.logger.error(u)}})}registerExpirerEvents(){this.core.expirer.on(ot.expired,async t=>{const{topic:r}=yl(t.target);r&&this.pairings.keys.includes(r)&&(await this.deletePairing(r,!0),this.events.emit(_i.expire,{topic:r}))})}}class O1 extends pb{constructor(t,r){super(t,r),this.core=t,this.logger=r,this.records=new Map,this.events=new yt.EventEmitter,this.name=XI,this.version=e1,this.cached=[],this.initialized=!1,this.storagePrefix=Jt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(s=>this.records.set(s.id,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(s,a,u)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:s,request:a,chainId:u}),this.records.has(a.id))return;const l={id:a.id,topic:s,request:{method:a.method,params:a.params||null},chainId:u,expiry:gt(j.THIRTY_DAYS)};this.records.set(l.id,l),this.events.emit(Et.created,l)},this.resolve=async s=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:s}),!this.records.has(s.id))return;const a=await this.getRecord(s.id);typeof a.response>"u"&&(a.response=It(s)?{error:s.error}:{result:s.result},this.records.set(a.id,a),this.events.emit(Et.updated,a))},this.get=async(s,a)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:s,id:a}),await this.getRecord(a)),this.delete=(s,a)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:a}),this.values.forEach(u=>{if(u.topic===s){if(typeof a<"u"&&u.id!==a)return;this.records.delete(u.id),this.events.emit(Et.deleted,u)}})},this.exists=async(s,a)=>(this.isInitialized(),this.records.has(a)?(await this.getRecord(a)).topic===s:!1),this.on=(s,a)=>{this.events.on(s,a)},this.once=(s,a)=>{this.events.once(s,a)},this.off=(s,a)=>{this.events.off(s,a)},this.removeListener=(s,a)=>{this.events.removeListener(s,a)},this.logger=Ke(r,this.name)}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const t=[];return this.values.forEach(r=>{if(typeof r.response<"u")return;const s={topic:r.topic,request:qr(r.request.method,r.request.params,r.id),chainId:r.chainId};return t.push(s)}),t}async setJsonRpcRecords(t){await this.core.storage.setItem(this.storageKey,t)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(t){this.isInitialized();const r=this.records.get(t);if(!r){const{message:s}=T("NO_MATCHING_KEY",`${this.name}: ${t}`);throw new Error(s)}return r}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Et.sync)}async restore(){try{const t=await this.getJsonRpcRecords();if(typeof t>"u"||!t.length)return;if(this.records.size){const{message:r}=T("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=t,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(t){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(t)}}registerEventListeners(){this.events.on(Et.created,t=>{const r=Et.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:t}),this.persist()}),this.events.on(Et.updated,t=>{const r=Et.updated;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:t}),this.persist()}),this.events.on(Et.deleted,t=>{const r=Et.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:t}),this.persist()}),this.core.heartbeat.on(Lr.HEARTBEAT_EVENTS.pulse,()=>{this.cleanup()})}cleanup(){try{this.records.forEach(t=>{j.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.delete(t.topic,t.id))})}catch(t){this.logger.warn(t)}}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class R1 extends vb{constructor(t,r){super(t,r),this.core=t,this.logger=r,this.expirations=new Map,this.events=new yt.EventEmitter,this.name=t1,this.version=r1,this.cached=[],this.initialized=!1,this.storagePrefix=Jt,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(s=>this.expirations.set(s.target,s)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=s=>{try{const a=this.formatTarget(s);return typeof this.getExpiration(a)<"u"}catch{return!1}},this.set=(s,a)=>{this.isInitialized();const u=this.formatTarget(s),l={target:u,expiry:a};this.expirations.set(u,l),this.checkExpiry(u,l),this.events.emit(ot.created,{target:u,expiration:l})},this.get=s=>{this.isInitialized();const a=this.formatTarget(s);return this.getExpiration(a)},this.del=s=>{if(this.isInitialized(),this.has(s)){const a=this.formatTarget(s),u=this.getExpiration(a);this.expirations.delete(a),this.events.emit(ot.deleted,{target:a,expiration:u})}},this.on=(s,a)=>{this.events.on(s,a)},this.once=(s,a)=>{this.events.once(s,a)},this.off=(s,a)=>{this.events.off(s,a)},this.removeListener=(s,a)=>{this.events.removeListener(s,a)},this.logger=Ke(r,this.name)}get context(){return Ye(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(t){if(typeof t=="string")return i0(t);if(typeof t=="number")return s0(t);const{message:r}=T("UNKNOWN_TYPE",`Target type: ${typeof t}`);throw new Error(r)}async setExpirations(t){await this.core.storage.setItem(this.storageKey,t)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(ot.sync)}async restore(){try{const t=await this.getExpirations();if(typeof t>"u"||!t.length)return;if(this.expirations.size){const{message:r}=T("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=t,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(t){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(t)}}getExpiration(t){const r=this.expirations.get(t);if(!r){const{message:s}=T("NO_MATCHING_KEY",`${this.name}: ${t}`);throw this.logger.error(s),new Error(s)}return r}checkExpiry(t,r){const{expiry:s}=r;j.toMiliseconds(s)-Date.now()<=0&&this.expire(t,r)}expire(t,r){this.expirations.delete(t),this.events.emit(ot.expired,{target:t,expiration:r})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((t,r)=>this.checkExpiry(r,t))}registerEventListeners(){this.core.heartbeat.on(Lr.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(ot.created,t=>{const r=ot.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:t}),this.persist()}),this.events.on(ot.expired,t=>{const r=ot.expired;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:t}),this.persist()}),this.events.on(ot.deleted,t=>{const r=ot.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:t}),this.persist()})}isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}}}class $1 extends wb{constructor(t,r){super(t,r),this.projectId=t,this.logger=r,this.name=_o,this.initialized=!1,this.queue=[],this.verifyDisabled=!1,this.init=async s=>{if(this.verifyDisabled||kr()||!Hr())return;const a=this.getVerifyUrl(s==null?void 0:s.verifyUrl);this.verifyUrl!==a&&this.removeIframe(),this.verifyUrl=a;try{await this.createIframe()}catch(u){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(u)}if(!this.initialized){this.removeIframe(),this.verifyUrl=Lo;try{await this.createIframe()}catch(u){this.logger.info(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.info(u),this.verifyDisabled=!0}}},this.register=async s=>{this.initialized?this.sendPost(s.attestationId):(this.addToQueue(s.attestationId),await this.init())},this.resolve=async s=>{if(this.isDevEnv)return"";const a=this.getVerifyUrl(s==null?void 0:s.verifyUrl);let u;try{u=await this.fetchAttestation(s.attestationId,a)}catch(l){this.logger.info(`failed to resolve attestation: ${s.attestationId} from url: ${a}`),this.logger.info(l),u=await this.fetchAttestation(s.attestationId,Lo)}return u},this.fetchAttestation=async(s,a)=>{this.logger.info(`resolving attestation: ${s} from url: ${a}`);const u=this.startAbortTimer(j.ONE_SECOND*2),l=await fetch(`${a}/attestation/${s}`,{signal:this.abortController.signal});return clearTimeout(u),l.status===200?await l.json():void 0},this.addToQueue=s=>{this.queue.push(s)},this.processQueue=()=>{this.queue.length!==0&&(this.queue.forEach(s=>this.sendPost(s)),this.queue=[])},this.sendPost=s=>{var a;try{if(!this.iframe)return;(a=this.iframe.contentWindow)==null||a.postMessage(s,"*"),this.logger.info(`postMessage sent: ${s} ${this.verifyUrl}`)}catch{}},this.createIframe=async()=>{let s;const a=u=>{u.data==="verify_ready"&&(this.initialized=!0,this.processQueue(),window.removeEventListener("message",a),s())};await Promise.race([new Promise(u=>{if(document.getElementById(_o))return u();window.addEventListener("message",a);const l=document.createElement("iframe");l.id=_o,l.src=`${this.verifyUrl}/${this.projectId}`,l.style.display="none",document.body.append(l),this.iframe=l,s=u}),new Promise((u,l)=>setTimeout(()=>{window.removeEventListener("message",a),l("verify iframe load timeout")},j.toMiliseconds(j.FIVE_SECONDS)))])},this.removeIframe=()=>{this.iframe&&(this.iframe.remove(),this.iframe=void 0,this.initialized=!1)},this.getVerifyUrl=s=>{let a=s||Dr;return i1.includes(a)||(this.logger.info(`verify url: ${a}, not included in trusted list, assigning default: ${Dr}`),a=Dr),a},this.logger=Ke(r,this.name),this.verifyUrl=Dr,this.abortController=new AbortController,this.isDevEnv=Xo()&&nE.IS_VITEST}get context(){return Ye(this.logger)}startAbortTimer(t){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),j.toMiliseconds(t))}}class N1 extends _b{constructor(t,r){super(t,r),this.projectId=t,this.logger=r,this.context=s1,this.registerDeviceToken=async s=>{const{clientId:a,token:u,notificationType:l,enableEncrypted:g=!1}=s,v=`${n1}/${this.projectId}/clients`;await sE(v,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:a,type:l,token:u,always_raw:g})})},this.logger=Ke(r,this.context)}}var C1=Object.defineProperty,Th=Object.getOwnPropertySymbols,T1=Object.prototype.hasOwnProperty,x1=Object.prototype.propertyIsEnumerable,xh=(o,t,r)=>t in o?C1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,Ah=(o,t)=>{for(var r in t||(t={}))T1.call(t,r)&&xh(o,r,t[r]);if(Th)for(var r of Th(t))x1.call(t,r)&&xh(o,r,t[r]);return o};class ra extends lb{constructor(t){super(t),this.protocol=Tl,this.version=NI,this.name=xl,this.events=new yt.EventEmitter,this.initialized=!1,this.on=(s,a)=>this.events.on(s,a),this.once=(s,a)=>this.events.once(s,a),this.off=(s,a)=>this.events.off(s,a),this.removeListener=(s,a)=>this.events.removeListener(s,a),this.projectId=t==null?void 0:t.projectId,this.relayUrl=(t==null?void 0:t.relayUrl)||Dl,this.customStoragePrefix=t!=null&&t.customStoragePrefix?`:${t.customStoragePrefix}`:"";const r=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:Us(Ms({level:(t==null?void 0:t.logger)||CI.logger}));this.logger=Ke(r,this.name),this.heartbeat=new Lr.HeartBeat,this.crypto=new a1(this,this.logger,t==null?void 0:t.keychain),this.history=new O1(this,this.logger),this.expirer=new R1(this,this.logger),this.storage=t!=null&&t.storage?t.storage:new L_(Ah(Ah({},TI),t==null?void 0:t.storageOptions)),this.relayer=new b1({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new S1(this,this.logger),this.verify=new $1(this.projectId||"",this.logger),this.echoClient=new N1(this.projectId||"",this.logger)}static async init(t){const r=new ra(t);await r.initialize();const s=await r.crypto.getClientId();return await r.storage.setItem(BI,s),r}get context(){return Ye(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(t){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,t),this.logger.error(t.message),t}}}const A1=ra,ql="wc",jl=2,Ul="client",ia=`${ql}@${jl}:${Ul}:`,Eo={name:Ul,logger:"error"},Dh="WALLETCONNECT_DEEPLINK_CHOICE",D1="proposal",Ml="Proposal expired",q1="session",Ps=j.SEVEN_DAYS,j1="engine",mi={wc_sessionPropose:{req:{ttl:j.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:j.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:j.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:j.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:j.ONE_DAY,prompt:!1,tag:1104},res:{ttl:j.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:j.ONE_DAY,prompt:!1,tag:1106},res:{ttl:j.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:j.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:j.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:j.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:j.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:j.ONE_DAY,prompt:!1,tag:1112},res:{ttl:j.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:j.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:j.THIRTY_SECONDS,prompt:!1,tag:1115}}},Io={min:j.FIVE_MINUTES,max:j.SEVEN_DAYS},qt={idle:"IDLE",active:"ACTIVE"},U1="request",M1=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var L1=Object.defineProperty,z1=Object.defineProperties,k1=Object.getOwnPropertyDescriptors,qh=Object.getOwnPropertySymbols,H1=Object.prototype.hasOwnProperty,K1=Object.prototype.propertyIsEnumerable,jh=(o,t,r)=>t in o?L1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,ze=(o,t)=>{for(var r in t||(t={}))H1.call(t,r)&&jh(o,r,t[r]);if(qh)for(var r of qh(t))K1.call(t,r)&&jh(o,r,t[r]);return o},yi=(o,t)=>z1(o,k1(t));class V1 extends Eb{constructor(t){super(t),this.name=j1,this.events=new Vo,this.initialized=!1,this.ignoredPayloadTypes=[dr],this.requestQueue={state:qt.idle,queue:[]},this.sessionRequestQueue={state:qt.idle,queue:[]},this.requestQueueDelay=j.ONE_SECOND,this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(mi)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},j.toMiliseconds(this.requestQueueDelay)))},this.connect=async r=>{await this.isInitialized();const s=yi(ze({},r),{requiredNamespaces:r.requiredNamespaces||{},optionalNamespaces:r.optionalNamespaces||{}});await this.isValidConnect(s);const{pairingTopic:a,requiredNamespaces:u,optionalNamespaces:l,sessionProperties:g,relays:v}=s;let d=a,E,_=!1;if(d&&(_=this.client.core.pairing.pairings.get(d).active),!d||!_){const{topic:J,uri:X}=await this.client.core.pairing.create();d=J,E=X}const I=await this.client.core.crypto.generateKeyPair(),C=ze({requiredNamespaces:u,optionalNamespaces:l,relays:v??[{protocol:Al}],proposer:{publicKey:I,metadata:this.client.metadata}},g&&{sessionProperties:g}),{reject:N,resolve:U,done:A}=Ar(j.FIVE_MINUTES,Ml);if(this.events.once(ye("session_connect"),async({error:J,session:X})=>{if(J)N(J);else if(X){X.self.publicKey=I;const he=yi(ze({},X),{requiredNamespaces:X.requiredNamespaces,optionalNamespaces:X.optionalNamespaces});await this.client.session.set(X.topic,he),await this.setExpiry(X.topic,X.expiry),d&&await this.client.core.pairing.updateMetadata({topic:d,metadata:X.peer.metadata}),U(he)}}),!d){const{message:J}=T("NO_MATCHING_KEY",`connect() pairing topic: ${d}`);throw new Error(J)}const V=await this.sendRequest({topic:d,method:"wc_sessionPropose",params:C}),oe=gt(j.FIVE_MINUTES);return await this.setProposal(V,ze({id:V,expiry:oe},C)),{uri:E,approval:A}},this.pair=async r=>(await this.isInitialized(),await this.client.core.pairing.pair(r)),this.approve=async r=>{await this.isInitialized(),await this.isValidApprove(r);const{id:s,relayProtocol:a,namespaces:u,sessionProperties:l}=r,g=this.client.proposal.get(s);let{pairingTopic:v,proposer:d,requiredNamespaces:E,optionalNamespaces:_}=g;v=v||"",Ur(E)||(E=w0(u,"approve()"));const I=await this.client.core.crypto.generateKeyPair(),C=d.publicKey,N=await this.client.core.crypto.generateSharedKey(I,C);v&&s&&(await this.client.core.pairing.updateMetadata({topic:v,metadata:d.metadata}),await this.sendResult({id:s,topic:v,result:{relay:{protocol:a??"irn"},responderPublicKey:I}}),await this.client.proposal.delete(s,me("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:v}));const U=ze({relay:{protocol:a??"irn"},namespaces:u,requiredNamespaces:E,optionalNamespaces:_,pairingTopic:v,controller:{publicKey:I,metadata:this.client.metadata},expiry:gt(Ps)},l&&{sessionProperties:l});await this.client.core.relayer.subscribe(N),await this.sendRequest({topic:N,method:"wc_sessionSettle",params:U,throwOnFailedPublish:!0});const A=yi(ze({},U),{topic:N,pairingTopic:v,acknowledged:!1,self:U.controller,peer:{publicKey:d.publicKey,metadata:d.metadata},controller:I});return await this.client.session.set(N,A),await this.setExpiry(N,gt(Ps)),{topic:N,acknowledged:()=>new Promise(V=>setTimeout(()=>V(this.client.session.get(N)),500))}},this.reject=async r=>{await this.isInitialized(),await this.isValidReject(r);const{id:s,reason:a}=r,{pairingTopic:u}=this.client.proposal.get(s);u&&(await this.sendError(s,u,a),await this.client.proposal.delete(s,me("USER_DISCONNECTED")))},this.update=async r=>{await this.isInitialized(),await this.isValidUpdate(r);const{topic:s,namespaces:a}=r,u=await this.sendRequest({topic:s,method:"wc_sessionUpdate",params:{namespaces:a}}),{done:l,resolve:g,reject:v}=Ar();return this.events.once(ye("session_update",u),({error:d})=>{d?v(d):g()}),await this.client.session.update(s,{namespaces:a}),{acknowledged:l}},this.extend=async r=>{await this.isInitialized(),await this.isValidExtend(r);const{topic:s}=r,a=await this.sendRequest({topic:s,method:"wc_sessionExtend",params:{}}),{done:u,resolve:l,reject:g}=Ar();return this.events.once(ye("session_extend",a),({error:v})=>{v?g(v):l()}),await this.setExpiry(s,gt(Ps)),{acknowledged:u}},this.request=async r=>{await this.isInitialized(),await this.isValidRequest(r);const{chainId:s,request:a,topic:u,expiry:l}=r,g=t_(),{done:v,resolve:d,reject:E}=Ar(l,"Request expired. Please try again.");return this.events.once(ye("session_request",g),({error:_,result:I})=>{_?E(_):d(I)}),await Promise.all([new Promise(async _=>{await this.sendRequest({clientRpcId:g,topic:u,method:"wc_sessionRequest",params:{request:a,chainId:s},expiry:l,throwOnFailedPublish:!0}).catch(I=>E(I)),this.client.events.emit("session_request_sent",{topic:u,request:a,chainId:s,id:g}),_()}),new Promise(async _=>{const I=await o0(this.client.core.storage,Dh);n0({id:g,topic:u,wcDeepLink:I}),_()}),v()]).then(_=>_[2])},this.respond=async r=>{await this.isInitialized(),await this.isValidRespond(r);const{topic:s,response:a}=r,{id:u}=a;Gt(a)?await this.sendResult({id:u,topic:s,result:a.result,throwOnFailedPublish:!0}):It(a)&&await this.sendError(u,s,a.error),this.cleanupAfterResponse(r)},this.ping=async r=>{await this.isInitialized(),await this.isValidPing(r);const{topic:s}=r;if(this.client.session.keys.includes(s)){const a=await this.sendRequest({topic:s,method:"wc_sessionPing",params:{}}),{done:u,resolve:l,reject:g}=Ar();this.events.once(ye("session_ping",a),({error:v})=>{v?g(v):l()}),await u()}else this.client.core.pairing.pairings.keys.includes(s)&&await this.client.core.pairing.ping({topic:s})},this.emit=async r=>{await this.isInitialized(),await this.isValidEmit(r);const{topic:s,event:a,chainId:u}=r;await this.sendRequest({topic:s,method:"wc_sessionEvent",params:{event:a,chainId:u}})},this.disconnect=async r=>{await this.isInitialized(),await this.isValidDisconnect(r);const{topic:s}=r;this.client.session.keys.includes(s)?(await this.sendRequest({topic:s,method:"wc_sessionDelete",params:me("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession(s)):await this.client.core.pairing.disconnect({topic:s})},this.find=r=>(this.isInitialized(),this.client.session.getAll().filter(s=>E0(s,r))),this.getPendingSessionRequests=()=>(this.isInitialized(),this.client.pendingRequest.getAll()),this.cleanupDuplicatePairings=async r=>{if(r.pairingTopic)try{const s=this.client.core.pairing.pairings.get(r.pairingTopic),a=this.client.core.pairing.pairings.getAll().filter(u=>{var l,g;return((l=u.peerMetadata)==null?void 0:l.url)&&((g=u.peerMetadata)==null?void 0:g.url)===r.peer.metadata.url&&u.topic&&u.topic!==s.topic});if(a.length===0)return;this.client.logger.info(`Cleaning up ${a.length} duplicate pairing(s)`),await Promise.all(a.map(u=>this.client.core.pairing.disconnect({topic:u.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(s){this.client.logger.error(s)}},this.deleteSession=async(r,s)=>{const{self:a}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),this.client.session.delete(r,me("USER_DISCONNECTED")),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),s||this.client.core.expirer.del(r),this.client.core.storage.removeItem(Dh).catch(u=>this.client.logger.warn(u)),this.getPendingSessionRequests().forEach(u=>{u.topic===r&&this.deletePendingSessionRequest(u.id,me("USER_DISCONNECTED"))})},this.deleteProposal=async(r,s)=>{await Promise.all([this.client.proposal.delete(r,me("USER_DISCONNECTED")),s?Promise.resolve():this.client.core.expirer.del(r)])},this.deletePendingSessionRequest=async(r,s,a=!1)=>{await Promise.all([this.client.pendingRequest.delete(r,s),a?Promise.resolve():this.client.core.expirer.del(r)]),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(u=>u.id!==r),a&&(this.sessionRequestQueue.state=qt.idle)},this.setExpiry=async(r,s)=>{this.client.session.keys.includes(r)&&await this.client.session.update(r,{expiry:s}),this.client.core.expirer.set(r,s)},this.setProposal=async(r,s)=>{await this.client.proposal.set(r,s),this.client.core.expirer.set(r,s.expiry)},this.setPendingSessionRequest=async r=>{const s=mi.wc_sessionRequest.req.ttl,{id:a,topic:u,params:l,verifyContext:g}=r;await this.client.pendingRequest.set(a,{id:a,topic:u,params:l,verifyContext:g}),s&&this.client.core.expirer.set(a,gt(s))},this.sendRequest=async r=>{const{topic:s,method:a,params:u,expiry:l,relayRpcId:g,clientRpcId:v,throwOnFailedPublish:d}=r,E=qr(a,u,v);if(Hr()&&M1.includes(a)){const C=jr(JSON.stringify(E));this.client.core.verify.register({attestationId:C})}const _=await this.client.core.crypto.encode(s,E),I=mi[a].req;return l&&(I.ttl=l),g&&(I.id=g),this.client.core.history.set(s,E),d?(I.internal=yi(ze({},I.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,_,I)):this.client.core.relayer.publish(s,_,I).catch(C=>this.client.logger.error(C)),E.id},this.sendResult=async r=>{const{id:s,topic:a,result:u,throwOnFailedPublish:l}=r,g=Ls(s,u),v=await this.client.core.crypto.encode(a,g),d=await this.client.core.history.get(a,s),E=mi[d.request.method].res;l?(E.internal=yi(ze({},E.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(a,v,E)):this.client.core.relayer.publish(a,v,E).catch(_=>this.client.logger.error(_)),await this.client.core.history.resolve(g)},this.sendError=async(r,s,a)=>{const u=js(r,a),l=await this.client.core.crypto.encode(s,u),g=await this.client.core.history.get(s,r),v=mi[g.request.method].res;this.client.core.relayer.publish(s,l,v),await this.client.core.history.resolve(u)},this.cleanup=async()=>{const r=[],s=[];this.client.session.getAll().forEach(a=>{Qt(a.expiry)&&r.push(a.topic)}),this.client.proposal.getAll().forEach(a=>{Qt(a.expiry)&&s.push(a.id)}),await Promise.all([...r.map(a=>this.deleteSession(a)),...s.map(a=>this.deleteProposal(a))])},this.onRelayEventRequest=async r=>{this.requestQueue.queue.push(r),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===qt.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=qt.active;const r=this.requestQueue.queue.shift();if(r)try{this.processRequest(r),await new Promise(s=>setTimeout(s,300))}catch(s){this.client.logger.warn(s)}}this.requestQueue.state=qt.idle},this.processRequest=r=>{const{topic:s,payload:a}=r,u=a.method;switch(u){case"wc_sessionPropose":return this.onSessionProposeRequest(s,a);case"wc_sessionSettle":return this.onSessionSettleRequest(s,a);case"wc_sessionUpdate":return this.onSessionUpdateRequest(s,a);case"wc_sessionExtend":return this.onSessionExtendRequest(s,a);case"wc_sessionPing":return this.onSessionPingRequest(s,a);case"wc_sessionDelete":return this.onSessionDeleteRequest(s,a);case"wc_sessionRequest":return this.onSessionRequest(s,a);case"wc_sessionEvent":return this.onSessionEventRequest(s,a);default:return this.client.logger.info(`Unsupported request method ${u}`)}},this.onRelayEventResponse=async r=>{const{topic:s,payload:a}=r,u=(await this.client.core.history.get(s,a.id)).request.method;switch(u){case"wc_sessionPropose":return this.onSessionProposeResponse(s,a);case"wc_sessionSettle":return this.onSessionSettleResponse(s,a);case"wc_sessionUpdate":return this.onSessionUpdateResponse(s,a);case"wc_sessionExtend":return this.onSessionExtendResponse(s,a);case"wc_sessionPing":return this.onSessionPingResponse(s,a);case"wc_sessionRequest":return this.onSessionRequestResponse(s,a);default:return this.client.logger.info(`Unsupported response method ${u}`)}},this.onRelayEventUnknownPayload=r=>{const{topic:s}=r,{message:a}=T("MISSING_OR_INVALID",`Decoded payload on topic ${s} is not identifiable as a JSON-RPC request or a response.`);throw new Error(a)},this.onSessionProposeRequest=async(r,s)=>{const{params:a,id:u}=s;try{this.isValidConnect(ze({},s.params));const l=gt(j.FIVE_MINUTES),g=ze({id:u,pairingTopic:r,expiry:l},a);await this.setProposal(u,g);const v=jr(JSON.stringify(s)),d=await this.getVerifyContext(v,g.proposer.metadata);this.client.events.emit("session_proposal",{id:u,params:g,verifyContext:d})}catch(l){await this.sendError(u,r,l),this.client.logger.error(l)}},this.onSessionProposeResponse=async(r,s)=>{const{id:a}=s;if(Gt(s)){const{result:u}=s;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:u});const l=this.client.proposal.get(a);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:l});const g=l.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:g});const v=u.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:v});const d=await this.client.core.crypto.generateSharedKey(g,v);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:d});const E=await this.client.core.relayer.subscribe(d);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:E}),await this.client.core.pairing.activate({topic:r})}else It(s)&&(await this.client.proposal.delete(a,me("USER_DISCONNECTED")),this.events.emit(ye("session_connect"),{error:s.error}))},this.onSessionSettleRequest=async(r,s)=>{const{id:a,params:u}=s;try{this.isValidSessionSettleRequest(u);const{relay:l,controller:g,expiry:v,namespaces:d,requiredNamespaces:E,optionalNamespaces:_,sessionProperties:I,pairingTopic:C}=s.params,N=ze({topic:r,relay:l,expiry:v,namespaces:d,acknowledged:!0,pairingTopic:C,requiredNamespaces:E,optionalNamespaces:_,controller:g.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:g.publicKey,metadata:g.metadata}},I&&{sessionProperties:I});await this.sendResult({id:s.id,topic:r,result:!0}),this.events.emit(ye("session_connect"),{session:N}),this.cleanupDuplicatePairings(N)}catch(l){await this.sendError(a,r,l),this.client.logger.error(l)}},this.onSessionSettleResponse=async(r,s)=>{const{id:a}=s;Gt(s)?(await this.client.session.update(r,{acknowledged:!0}),this.events.emit(ye("session_approve",a),{})):It(s)&&(await this.client.session.delete(r,me("USER_DISCONNECTED")),this.events.emit(ye("session_approve",a),{error:s.error}))},this.onSessionUpdateRequest=async(r,s)=>{const{params:a,id:u}=s;try{const l=`${r}_session_update`,g=Is.get(l);if(g&&this.isRequestOutOfSync(g,u)){this.client.logger.info(`Discarding out of sync request - ${u}`);return}this.isValidUpdate(ze({topic:r},a)),await this.client.session.update(r,{namespaces:a.namespaces}),await this.sendResult({id:u,topic:r,result:!0}),this.client.events.emit("session_update",{id:u,topic:r,params:a}),Is.set(l,u)}catch(l){await this.sendError(u,r,l),this.client.logger.error(l)}},this.isRequestOutOfSync=(r,s)=>parseInt(s.toString().slice(0,-3))<=parseInt(r.toString().slice(0,-3)),this.onSessionUpdateResponse=(r,s)=>{const{id:a}=s;Gt(s)?this.events.emit(ye("session_update",a),{}):It(s)&&this.events.emit(ye("session_update",a),{error:s.error})},this.onSessionExtendRequest=async(r,s)=>{const{id:a}=s;try{this.isValidExtend({topic:r}),await this.setExpiry(r,gt(Ps)),await this.sendResult({id:a,topic:r,result:!0}),this.client.events.emit("session_extend",{id:a,topic:r})}catch(u){await this.sendError(a,r,u),this.client.logger.error(u)}},this.onSessionExtendResponse=(r,s)=>{const{id:a}=s;Gt(s)?this.events.emit(ye("session_extend",a),{}):It(s)&&this.events.emit(ye("session_extend",a),{error:s.error})},this.onSessionPingRequest=async(r,s)=>{const{id:a}=s;try{this.isValidPing({topic:r}),await this.sendResult({id:a,topic:r,result:!0}),this.client.events.emit("session_ping",{id:a,topic:r})}catch(u){await this.sendError(a,r,u),this.client.logger.error(u)}},this.onSessionPingResponse=(r,s)=>{const{id:a}=s;setTimeout(()=>{Gt(s)?this.events.emit(ye("session_ping",a),{}):It(s)&&this.events.emit(ye("session_ping",a),{error:s.error})},500)},this.onSessionDeleteRequest=async(r,s)=>{const{id:a}=s;try{this.isValidDisconnect({topic:r,reason:s.params}),await Promise.all([new Promise(u=>{this.client.core.relayer.once($e.publish,async()=>{u(await this.deleteSession(r))})}),this.sendResult({id:a,topic:r,result:!0})]),this.client.events.emit("session_delete",{id:a,topic:r})}catch(u){this.client.logger.error(u)}},this.onSessionRequest=async(r,s)=>{const{id:a,params:u}=s;try{this.isValidRequest(ze({topic:r},u));const l=jr(JSON.stringify(qr("wc_sessionRequest",u,a))),g=this.client.session.get(r),v=await this.getVerifyContext(l,g.peer.metadata),d={id:a,topic:r,params:u,verifyContext:v};await this.setPendingSessionRequest(d),this.addSessionRequestToSessionRequestQueue(d),this.processSessionRequestQueue()}catch(l){await this.sendError(a,r,l),this.client.logger.error(l)}},this.onSessionRequestResponse=(r,s)=>{const{id:a}=s;Gt(s)?this.events.emit(ye("session_request",a),{result:s.result}):It(s)&&this.events.emit(ye("session_request",a),{error:s.error})},this.onSessionEventRequest=async(r,s)=>{const{id:a,params:u}=s;try{const l=`${r}_session_event_${u.event.name}`,g=Is.get(l);if(g&&this.isRequestOutOfSync(g,a)){this.client.logger.info(`Discarding out of sync request - ${a}`);return}this.isValidEmit(ze({topic:r},u)),this.client.events.emit("session_event",{id:a,topic:r,params:u}),Is.set(l,a)}catch(l){await this.sendError(a,r,l),this.client.logger.error(l)}},this.addSessionRequestToSessionRequestQueue=r=>{this.sessionRequestQueue.queue.push(r)},this.cleanupAfterResponse=r=>{this.deletePendingSessionRequest(r.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=qt.idle,this.processSessionRequestQueue()},j.toMiliseconds(this.requestQueueDelay))},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===qt.active){this.client.logger.info("session request queue is already active.");return}const r=this.sessionRequestQueue.queue[0];if(!r){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=qt.active,this.client.events.emit("session_request",r)}catch(s){this.client.logger.error(s)}},this.onPairingCreated=r=>{if(r.active)return;const s=this.client.proposal.getAll().find(a=>a.pairingTopic===r.topic);s&&this.onSessionProposeRequest(r.topic,qr("wc_sessionPropose",{requiredNamespaces:s.requiredNamespaces,optionalNamespaces:s.optionalNamespaces,relays:s.relays,proposer:s.proposer,sessionProperties:s.sessionProperties},s.id))},this.isValidConnect=async r=>{if(!He(r)){const{message:v}=T("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(r)}`);throw new Error(v)}const{pairingTopic:s,requiredNamespaces:a,optionalNamespaces:u,sessionProperties:l,relays:g}=r;if(Ae(s)||await this.isValidPairingTopic(s),!D0(g)){const{message:v}=T("MISSING_OR_INVALID",`connect() relays: ${g}`);throw new Error(v)}!Ae(a)&&Ur(a)!==0&&this.validateNamespaces(a,"requiredNamespaces"),!Ae(u)&&Ur(u)!==0&&this.validateNamespaces(u,"optionalNamespaces"),Ae(l)||this.validateSessionProps(l,"sessionProperties")},this.validateNamespaces=(r,s)=>{const a=A0(r,"connect()",s);if(a)throw new Error(a.message)},this.isValidApprove=async r=>{if(!He(r))throw new Error(T("MISSING_OR_INVALID",`approve() params: ${r}`).message);const{id:s,namespaces:a,relayProtocol:u,sessionProperties:l}=r;await this.isValidProposalId(s);const g=this.client.proposal.get(s),v=Cs(a,"approve()");if(v)throw new Error(v.message);const d=hh(g.requiredNamespaces,a,"approve()");if(d)throw new Error(d.message);if(!Ee(u,!0)){const{message:E}=T("MISSING_OR_INVALID",`approve() relayProtocol: ${u}`);throw new Error(E)}Ae(l)||this.validateSessionProps(l,"sessionProperties")},this.isValidReject=async r=>{if(!He(r)){const{message:u}=T("MISSING_OR_INVALID",`reject() params: ${r}`);throw new Error(u)}const{id:s,reason:a}=r;if(await this.isValidProposalId(s),!j0(a)){const{message:u}=T("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(a)}`);throw new Error(u)}},this.isValidSessionSettleRequest=r=>{if(!He(r)){const{message:d}=T("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${r}`);throw new Error(d)}const{relay:s,controller:a,namespaces:u,expiry:l}=r;if(!wl(s)){const{message:d}=T("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(d)}const g=R0(a,"onSessionSettleRequest()");if(g)throw new Error(g.message);const v=Cs(u,"onSessionSettleRequest()");if(v)throw new Error(v.message);if(Qt(l)){const{message:d}=T("EXPIRED","onSessionSettleRequest()");throw new Error(d)}},this.isValidUpdate=async r=>{if(!He(r)){const{message:v}=T("MISSING_OR_INVALID",`update() params: ${r}`);throw new Error(v)}const{topic:s,namespaces:a}=r;await this.isValidSessionTopic(s);const u=this.client.session.get(s),l=Cs(a,"update()");if(l)throw new Error(l.message);const g=hh(u.requiredNamespaces,a,"update()");if(g)throw new Error(g.message)},this.isValidExtend=async r=>{if(!He(r)){const{message:a}=T("MISSING_OR_INVALID",`extend() params: ${r}`);throw new Error(a)}const{topic:s}=r;await this.isValidSessionTopic(s)},this.isValidRequest=async r=>{if(!He(r)){const{message:v}=T("MISSING_OR_INVALID",`request() params: ${r}`);throw new Error(v)}const{topic:s,request:a,chainId:u,expiry:l}=r;await this.isValidSessionTopic(s);const{namespaces:g}=this.client.session.get(s);if(!uh(g,u)){const{message:v}=T("MISSING_OR_INVALID",`request() chainId: ${u}`);throw new Error(v)}if(!U0(a)){const{message:v}=T("MISSING_OR_INVALID",`request() ${JSON.stringify(a)}`);throw new Error(v)}if(!z0(g,u,a.method)){const{message:v}=T("MISSING_OR_INVALID",`request() method: ${a.method}`);throw new Error(v)}if(l&&!V0(l,Io)){const{message:v}=T("MISSING_OR_INVALID",`request() expiry: ${l}. Expiry must be a number (in seconds) between ${Io.min} and ${Io.max}`);throw new Error(v)}},this.isValidRespond=async r=>{var s;if(!He(r)){const{message:l}=T("MISSING_OR_INVALID",`respond() params: ${r}`);throw new Error(l)}const{topic:a,response:u}=r;try{await this.isValidSessionTopic(a)}catch(l){throw(s=r==null?void 0:r.response)!=null&&s.id&&this.cleanupAfterResponse(r),l}if(!M0(u)){const{message:l}=T("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(u)}`);throw new Error(l)}},this.isValidPing=async r=>{if(!He(r)){const{message:a}=T("MISSING_OR_INVALID",`ping() params: ${r}`);throw new Error(a)}const{topic:s}=r;await this.isValidSessionOrPairingTopic(s)},this.isValidEmit=async r=>{if(!He(r)){const{message:g}=T("MISSING_OR_INVALID",`emit() params: ${r}`);throw new Error(g)}const{topic:s,event:a,chainId:u}=r;await this.isValidSessionTopic(s);const{namespaces:l}=this.client.session.get(s);if(!uh(l,u)){const{message:g}=T("MISSING_OR_INVALID",`emit() chainId: ${u}`);throw new Error(g)}if(!L0(a)){const{message:g}=T("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(a)}`);throw new Error(g)}if(!k0(l,u,a.name)){const{message:g}=T("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(a)}`);throw new Error(g)}},this.isValidDisconnect=async r=>{if(!He(r)){const{message:a}=T("MISSING_OR_INVALID",`disconnect() params: ${r}`);throw new Error(a)}const{topic:s}=r;await this.isValidSessionOrPairingTopic(s)},this.getVerifyContext=async(r,s)=>{const a={verified:{verifyUrl:s.verifyUrl||Dr,validation:"UNKNOWN",origin:s.url||""}};try{const u=await this.client.core.verify.resolve({attestationId:r,verifyUrl:s.verifyUrl});u&&(a.verified.origin=u.origin,a.verified.isScam=u.isScam,a.verified.validation=u.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(u){this.client.logger.info(u)}return this.client.logger.info(`Verify context: ${JSON.stringify(a)}`),a},this.validateSessionProps=(r,s)=>{Object.values(r).forEach(a=>{if(!Ee(a,!1)){const{message:u}=T("MISSING_OR_INVALID",`${s} must be in Record<string, string> format. Received: ${JSON.stringify(a)}`);throw new Error(u)}})}}async isInitialized(){if(!this.initialized){const{message:t}=T("NOT_INITIALIZED",this.name);throw new Error(t)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on($e.message,async t=>{const{topic:r,message:s}=t;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s)))return;const a=await this.client.core.crypto.decode(r,s);try{Wo(a)?(this.client.core.history.set(r,a),this.onRelayEventRequest({topic:r,payload:a})):qs(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:r,payload:a}),this.client.core.history.delete(r,a.id)):this.onRelayEventUnknownPayload({topic:r,payload:a})}catch(u){this.client.logger.error(u)}})}registerExpirerEvents(){this.client.core.expirer.on(ot.expired,async t=>{const{topic:r,id:s}=yl(t.target);if(s&&this.client.pendingRequest.keys.includes(s))return await this.deletePendingSessionRequest(s,T("EXPIRED"),!0);r?this.client.session.keys.includes(r)&&(await this.deleteSession(r,!0),this.client.events.emit("session_expire",{topic:r})):s&&(await this.deleteProposal(s,!0),this.client.events.emit("proposal_expire",{id:s}))})}registerPairingEvents(){this.client.core.pairing.events.on(_i.create,t=>this.onPairingCreated(t))}isValidPairingTopic(t){if(!Ee(t,!1)){const{message:r}=T("MISSING_OR_INVALID",`pairing topic should be a string: ${t}`);throw new Error(r)}if(!this.client.core.pairing.pairings.keys.includes(t)){const{message:r}=T("NO_MATCHING_KEY",`pairing topic doesn't exist: ${t}`);throw new Error(r)}if(Qt(this.client.core.pairing.pairings.get(t).expiry)){const{message:r}=T("EXPIRED",`pairing topic: ${t}`);throw new Error(r)}}async isValidSessionTopic(t){if(!Ee(t,!1)){const{message:r}=T("MISSING_OR_INVALID",`session topic should be a string: ${t}`);throw new Error(r)}if(!this.client.session.keys.includes(t)){const{message:r}=T("NO_MATCHING_KEY",`session topic doesn't exist: ${t}`);throw new Error(r)}if(Qt(this.client.session.get(t).expiry)){await this.deleteSession(t);const{message:r}=T("EXPIRED",`session topic: ${t}`);throw new Error(r)}}async isValidSessionOrPairingTopic(t){if(this.client.session.keys.includes(t))await this.isValidSessionTopic(t);else if(this.client.core.pairing.pairings.keys.includes(t))this.isValidPairingTopic(t);else if(Ee(t,!1)){const{message:r}=T("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${t}`);throw new Error(r)}else{const{message:r}=T("MISSING_OR_INVALID",`session or pairing topic should be a string: ${t}`);throw new Error(r)}}async isValidProposalId(t){if(!q0(t)){const{message:r}=T("MISSING_OR_INVALID",`proposal id should be a number: ${t}`);throw new Error(r)}if(!this.client.proposal.keys.includes(t)){const{message:r}=T("NO_MATCHING_KEY",`proposal id doesn't exist: ${t}`);throw new Error(r)}if(Qt(this.client.proposal.get(t).expiry)){await this.deleteProposal(t);const{message:r}=T("EXPIRED",`proposal id: ${t}`);throw new Error(r)}}}class F1 extends Vs{constructor(t,r){super(t,r,D1,ia),this.core=t,this.logger=r}}class W1 extends Vs{constructor(t,r){super(t,r,q1,ia),this.core=t,this.logger=r}}class B1 extends Vs{constructor(t,r){super(t,r,U1,ia,s=>s.id),this.core=t,this.logger=r}}let G1=class Ll extends bb{constructor(t){super(t),this.protocol=ql,this.version=jl,this.name=Eo.name,this.events=new yt.EventEmitter,this.on=(s,a)=>this.events.on(s,a),this.once=(s,a)=>this.events.once(s,a),this.off=(s,a)=>this.events.off(s,a),this.removeListener=(s,a)=>this.events.removeListener(s,a),this.removeAllListeners=s=>this.events.removeAllListeners(s),this.connect=async s=>{try{return await this.engine.connect(s)}catch(a){throw this.logger.error(a.message),a}},this.pair=async s=>{try{return await this.engine.pair(s)}catch(a){throw this.logger.error(a.message),a}},this.approve=async s=>{try{return await this.engine.approve(s)}catch(a){throw this.logger.error(a.message),a}},this.reject=async s=>{try{return await this.engine.reject(s)}catch(a){throw this.logger.error(a.message),a}},this.update=async s=>{try{return await this.engine.update(s)}catch(a){throw this.logger.error(a.message),a}},this.extend=async s=>{try{return await this.engine.extend(s)}catch(a){throw this.logger.error(a.message),a}},this.request=async s=>{try{return await this.engine.request(s)}catch(a){throw this.logger.error(a.message),a}},this.respond=async s=>{try{return await this.engine.respond(s)}catch(a){throw this.logger.error(a.message),a}},this.ping=async s=>{try{return await this.engine.ping(s)}catch(a){throw this.logger.error(a.message),a}},this.emit=async s=>{try{return await this.engine.emit(s)}catch(a){throw this.logger.error(a.message),a}},this.disconnect=async s=>{try{return await this.engine.disconnect(s)}catch(a){throw this.logger.error(a.message),a}},this.find=s=>{try{return this.engine.find(s)}catch(a){throw this.logger.error(a.message),a}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(s){throw this.logger.error(s.message),s}},this.name=(t==null?void 0:t.name)||Eo.name,this.metadata=(t==null?void 0:t.metadata)||Zb();const r=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:Us(Ms({level:(t==null?void 0:t.logger)||Eo.logger}));this.core=(t==null?void 0:t.core)||new A1(t),this.logger=Ke(r,this.name),this.session=new W1(this.core,this.logger),this.proposal=new F1(this.core,this.logger),this.pendingRequest=new B1(this.core,this.logger),this.engine=new V1(this)}static async init(t){const r=new Ll(t);return await r.initialize(),r}get context(){return Ye(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(t){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(t.message),t}}};const Q1=o=>JSON.stringify(o,(t,r)=>typeof r=="bigint"?r.toString()+"n":r),J1=o=>{const t=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,r=o.replace(t,'$1"$2n"$3');return JSON.parse(r,(s,a)=>typeof a=="string"&&a.match(/^\d+n$/)?BigInt(a.substring(0,a.length-1)):a)};function Y1(o){if(typeof o!="string")throw new Error(`Cannot safe json parse value of type ${typeof o}`);try{return J1(o)}catch{return o}}function Uh(o){return typeof o=="string"?o:Q1(o)||""}var Z1=Object.defineProperty,X1=Object.defineProperties,eP=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,tP=Object.prototype.hasOwnProperty,rP=Object.prototype.propertyIsEnumerable,Lh=(o,t,r)=>t in o?Z1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,zh=(o,t)=>{for(var r in t||(t={}))tP.call(t,r)&&Lh(o,r,t[r]);if(Mh)for(var r of Mh(t))rP.call(t,r)&&Lh(o,r,t[r]);return o},kh=(o,t)=>X1(o,eP(t));const iP={Accept:"application/json","Content-Type":"application/json"},sP="POST",Hh={headers:iP,method:sP},Kh=10;let Zt=class{constructor(t,r=!1){if(this.url=t,this.disableProviderPing=r,this.events=new yt.EventEmitter,this.isAvailable=!1,this.registering=!1,!Hu(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);this.url=t,this.disableProviderPing=r}get connected(){return this.isAvailable}get connecting(){return this.registering}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}off(t,r){this.events.off(t,r)}removeListener(t,r){this.events.removeListener(t,r)}async open(t=this.url){await this.register(t)}async close(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(t){this.isAvailable||await this.register();try{const r=Uh(t),s=await(await Ku(this.url,kh(zh({},Hh),{body:r}))).json();this.onPayload({data:s})}catch(r){this.onError(t.id,r)}}async register(t=this.url){if(!Hu(t))throw new Error(`Provided URL is not compatible with HTTP connection: ${t}`);if(this.registering){const r=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=r||this.events.listenerCount("open")>=r)&&this.events.setMaxListeners(r+1),new Promise((s,a)=>{this.events.once("register_error",u=>{this.resetMaxListeners(),a(u)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return a(new Error("HTTP connection is missing or invalid"));s()})})}this.url=t,this.registering=!0;try{if(!this.disableProviderPing){const r=Uh({id:1,jsonrpc:"2.0",method:"test",params:[]});await Ku(t,kh(zh({},Hh),{body:r}))}this.onOpen()}catch(r){const s=this.parseError(r);throw this.events.emit("register_error",s),this.onClose(),s}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(t){if(typeof t.data>"u")return;const r=typeof t.data=="string"?Y1(t.data):t.data;this.events.emit("payload",r)}onError(t,r){const s=this.parseError(r),a=s.message||s.toString(),u=js(t,a);this.events.emit("payload",u)}parseError(t,r=this.url){return sl(t,r,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>Kh&&this.events.setMaxListeners(Kh)}};const Vh="error",nP="wss://relay.walletconnect.com",oP="wc",aP="universal_provider",Fh=`${oP}@2:${aP}:`,cP="https://rpc.walletconnect.com/v1/",Ut={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var vi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Y.global<"u"?Y.global:typeof self<"u"?self:{},zo={exports:{}};/**
|
|
22
|
-
* @license
|
|
23
|
-
* Lodash <https://lodash.com/>
|
|
24
|
-
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
25
|
-
* Released under MIT license <https://lodash.com/license>
|
|
26
|
-
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
27
|
-
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
28
|
-
*/(function(o,t){(function(){var r,s="4.17.21",a=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",g="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",d=500,E="__lodash_placeholder__",_=1,I=2,C=4,N=1,U=2,A=1,V=2,oe=4,J=8,X=16,he=32,qe=64,fe=128,Ne=256,Mt=512,Hl=30,Kl="...",Vl=800,Fl=16,oa=1,Wl=2,Bl=3,Ri=1/0,mr=9007199254740991,Gl=17976931348623157e292,$i=NaN,vt=4294967295,Ql=vt-1,Jl=vt>>>1,Yl=[["ary",fe],["bind",A],["bindKey",V],["curry",J],["curryRight",X],["flip",Mt],["partial",he],["partialRight",qe],["rearg",Ne]],yr="[object Arguments]",Ni="[object Array]",Zl="[object AsyncFunction]",Vr="[object Boolean]",Fr="[object Date]",Xl="[object DOMException]",Ci="[object Error]",Ti="[object Function]",aa="[object GeneratorFunction]",ct="[object Map]",Wr="[object Number]",ep="[object Null]",Pt="[object Object]",ca="[object Promise]",tp="[object Proxy]",Br="[object RegExp]",ut="[object Set]",Gr="[object String]",xi="[object Symbol]",rp="[object Undefined]",Qr="[object WeakMap]",ip="[object WeakSet]",Jr="[object ArrayBuffer]",vr="[object DataView]",Fs="[object Float32Array]",Ws="[object Float64Array]",Bs="[object Int8Array]",Gs="[object Int16Array]",Qs="[object Int32Array]",Js="[object Uint8Array]",Ys="[object Uint8ClampedArray]",Zs="[object Uint16Array]",Xs="[object Uint32Array]",sp=/\b__p \+= '';/g,np=/\b(__p \+=) '' \+/g,op=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ua=/&(?:amp|lt|gt|quot|#39);/g,ha=/[&<>"']/g,ap=RegExp(ua.source),cp=RegExp(ha.source),up=/<%-([\s\S]+?)%>/g,hp=/<%([\s\S]+?)%>/g,la=/<%=([\s\S]+?)%>/g,lp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,pp=/^\w*$/,fp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,en=/[\\^$.*+?()[\]{}|]/g,dp=RegExp(en.source),tn=/^\s+/,gp=/\s/,mp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,yp=/\{\n\/\* \[wrapped with (.+)\] \*/,vp=/,? & /,wp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_p=/[()=,{}\[\]\/\s]/,bp=/\\(\\)?/g,Ep=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pa=/\w*$/,Ip=/^[-+]0x[0-9a-f]+$/i,Pp=/^0b[01]+$/i,Sp=/^\[object .+?Constructor\]$/,Op=/^0o[0-7]+$/i,Rp=/^(?:0|[1-9]\d*)$/,$p=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ai=/($^)/,Np=/['\n\r\u2028\u2029\\]/g,Di="\\ud800-\\udfff",Cp="\\u0300-\\u036f",Tp="\\ufe20-\\ufe2f",xp="\\u20d0-\\u20ff",fa=Cp+Tp+xp,da="\\u2700-\\u27bf",ga="a-z\\xdf-\\xf6\\xf8-\\xff",Ap="\\xac\\xb1\\xd7\\xf7",Dp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",qp="\\u2000-\\u206f",jp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ma="A-Z\\xc0-\\xd6\\xd8-\\xde",ya="\\ufe0e\\ufe0f",va=Ap+Dp+qp+jp,rn="['’]",Up="["+Di+"]",wa="["+va+"]",qi="["+fa+"]",_a="\\d+",Mp="["+da+"]",ba="["+ga+"]",Ea="[^"+Di+va+_a+da+ga+ma+"]",sn="\\ud83c[\\udffb-\\udfff]",Lp="(?:"+qi+"|"+sn+")",Ia="[^"+Di+"]",nn="(?:\\ud83c[\\udde6-\\uddff]){2}",on="[\\ud800-\\udbff][\\udc00-\\udfff]",wr="["+ma+"]",Pa="\\u200d",Sa="(?:"+ba+"|"+Ea+")",zp="(?:"+wr+"|"+Ea+")",Oa="(?:"+rn+"(?:d|ll|m|re|s|t|ve))?",Ra="(?:"+rn+"(?:D|LL|M|RE|S|T|VE))?",$a=Lp+"?",Na="["+ya+"]?",kp="(?:"+Pa+"(?:"+[Ia,nn,on].join("|")+")"+Na+$a+")*",Hp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Kp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ca=Na+$a+kp,Vp="(?:"+[Mp,nn,on].join("|")+")"+Ca,Fp="(?:"+[Ia+qi+"?",qi,nn,on,Up].join("|")+")",Wp=RegExp(rn,"g"),Bp=RegExp(qi,"g"),an=RegExp(sn+"(?="+sn+")|"+Fp+Ca,"g"),Gp=RegExp([wr+"?"+ba+"+"+Oa+"(?="+[wa,wr,"$"].join("|")+")",zp+"+"+Ra+"(?="+[wa,wr+Sa,"$"].join("|")+")",wr+"?"+Sa+"+"+Oa,wr+"+"+Ra,Kp,Hp,_a,Vp].join("|"),"g"),Qp=RegExp("["+Pa+Di+fa+ya+"]"),Jp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Yp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Zp=-1,ae={};ae[Fs]=ae[Ws]=ae[Bs]=ae[Gs]=ae[Qs]=ae[Js]=ae[Ys]=ae[Zs]=ae[Xs]=!0,ae[yr]=ae[Ni]=ae[Jr]=ae[Vr]=ae[vr]=ae[Fr]=ae[Ci]=ae[Ti]=ae[ct]=ae[Wr]=ae[Pt]=ae[Br]=ae[ut]=ae[Gr]=ae[Qr]=!1;var ie={};ie[yr]=ie[Ni]=ie[Jr]=ie[vr]=ie[Vr]=ie[Fr]=ie[Fs]=ie[Ws]=ie[Bs]=ie[Gs]=ie[Qs]=ie[ct]=ie[Wr]=ie[Pt]=ie[Br]=ie[ut]=ie[Gr]=ie[xi]=ie[Js]=ie[Ys]=ie[Zs]=ie[Xs]=!0,ie[Ci]=ie[Ti]=ie[Qr]=!1;var Xp={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},ef={"&":"&","<":"<",">":">",'"':""","'":"'"},tf={"&":"&","<":"<",">":">",""":'"',"'":"'"},rf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},sf=parseFloat,nf=parseInt,Ta=typeof vi=="object"&&vi&&vi.Object===Object&&vi,of=typeof self=="object"&&self&&self.Object===Object&&self,Ie=Ta||of||Function("return this")(),cn=t&&!t.nodeType&&t,Xt=cn&&!0&&o&&!o.nodeType&&o,xa=Xt&&Xt.exports===cn,un=xa&&Ta.process,Ze=function(){try{var w=Xt&&Xt.require&&Xt.require("util").types;return w||un&&un.binding&&un.binding("util")}catch{}}(),Aa=Ze&&Ze.isArrayBuffer,Da=Ze&&Ze.isDate,qa=Ze&&Ze.isMap,ja=Ze&&Ze.isRegExp,Ua=Ze&&Ze.isSet,Ma=Ze&&Ze.isTypedArray;function Ve(w,S,P){switch(P.length){case 0:return w.call(S);case 1:return w.call(S,P[0]);case 2:return w.call(S,P[0],P[1]);case 3:return w.call(S,P[0],P[1],P[2])}return w.apply(S,P)}function af(w,S,P,D){for(var k=-1,Z=w==null?0:w.length;++k<Z;){var ve=w[k];S(D,ve,P(ve),w)}return D}function Xe(w,S){for(var P=-1,D=w==null?0:w.length;++P<D&&S(w[P],P,w)!==!1;);return w}function cf(w,S){for(var P=w==null?0:w.length;P--&&S(w[P],P,w)!==!1;);return w}function La(w,S){for(var P=-1,D=w==null?0:w.length;++P<D;)if(!S(w[P],P,w))return!1;return!0}function Lt(w,S){for(var P=-1,D=w==null?0:w.length,k=0,Z=[];++P<D;){var ve=w[P];S(ve,P,w)&&(Z[k++]=ve)}return Z}function ji(w,S){var P=w==null?0:w.length;return!!P&&_r(w,S,0)>-1}function hn(w,S,P){for(var D=-1,k=w==null?0:w.length;++D<k;)if(P(S,w[D]))return!0;return!1}function ce(w,S){for(var P=-1,D=w==null?0:w.length,k=Array(D);++P<D;)k[P]=S(w[P],P,w);return k}function zt(w,S){for(var P=-1,D=S.length,k=w.length;++P<D;)w[k+P]=S[P];return w}function ln(w,S,P,D){var k=-1,Z=w==null?0:w.length;for(D&&Z&&(P=w[++k]);++k<Z;)P=S(P,w[k],k,w);return P}function uf(w,S,P,D){var k=w==null?0:w.length;for(D&&k&&(P=w[--k]);k--;)P=S(P,w[k],k,w);return P}function pn(w,S){for(var P=-1,D=w==null?0:w.length;++P<D;)if(S(w[P],P,w))return!0;return!1}var hf=fn("length");function lf(w){return w.split("")}function pf(w){return w.match(wp)||[]}function za(w,S,P){var D;return P(w,function(k,Z,ve){if(S(k,Z,ve))return D=Z,!1}),D}function Ui(w,S,P,D){for(var k=w.length,Z=P+(D?1:-1);D?Z--:++Z<k;)if(S(w[Z],Z,w))return Z;return-1}function _r(w,S,P){return S===S?Pf(w,S,P):Ui(w,ka,P)}function ff(w,S,P,D){for(var k=P-1,Z=w.length;++k<Z;)if(D(w[k],S))return k;return-1}function ka(w){return w!==w}function Ha(w,S){var P=w==null?0:w.length;return P?gn(w,S)/P:$i}function fn(w){return function(S){return S==null?r:S[w]}}function dn(w){return function(S){return w==null?r:w[S]}}function Ka(w,S,P,D,k){return k(w,function(Z,ve,re){P=D?(D=!1,Z):S(P,Z,ve,re)}),P}function df(w,S){var P=w.length;for(w.sort(S);P--;)w[P]=w[P].value;return w}function gn(w,S){for(var P,D=-1,k=w.length;++D<k;){var Z=S(w[D]);Z!==r&&(P=P===r?Z:P+Z)}return P}function mn(w,S){for(var P=-1,D=Array(w);++P<w;)D[P]=S(P);return D}function gf(w,S){return ce(S,function(P){return[P,w[P]]})}function Va(w){return w&&w.slice(0,Ga(w)+1).replace(tn,"")}function Fe(w){return function(S){return w(S)}}function yn(w,S){return ce(S,function(P){return w[P]})}function Yr(w,S){return w.has(S)}function Fa(w,S){for(var P=-1,D=w.length;++P<D&&_r(S,w[P],0)>-1;);return P}function Wa(w,S){for(var P=w.length;P--&&_r(S,w[P],0)>-1;);return P}function mf(w,S){for(var P=w.length,D=0;P--;)w[P]===S&&++D;return D}var yf=dn(Xp),vf=dn(ef);function wf(w){return"\\"+rf[w]}function _f(w,S){return w==null?r:w[S]}function br(w){return Qp.test(w)}function bf(w){return Jp.test(w)}function Ef(w){for(var S,P=[];!(S=w.next()).done;)P.push(S.value);return P}function vn(w){var S=-1,P=Array(w.size);return w.forEach(function(D,k){P[++S]=[k,D]}),P}function Ba(w,S){return function(P){return w(S(P))}}function kt(w,S){for(var P=-1,D=w.length,k=0,Z=[];++P<D;){var ve=w[P];(ve===S||ve===E)&&(w[P]=E,Z[k++]=P)}return Z}function Mi(w){var S=-1,P=Array(w.size);return w.forEach(function(D){P[++S]=D}),P}function If(w){var S=-1,P=Array(w.size);return w.forEach(function(D){P[++S]=[D,D]}),P}function Pf(w,S,P){for(var D=P-1,k=w.length;++D<k;)if(w[D]===S)return D;return-1}function Sf(w,S,P){for(var D=P+1;D--;)if(w[D]===S)return D;return D}function Er(w){return br(w)?Rf(w):hf(w)}function ht(w){return br(w)?$f(w):lf(w)}function Ga(w){for(var S=w.length;S--&&gp.test(w.charAt(S)););return S}var Of=dn(tf);function Rf(w){for(var S=an.lastIndex=0;an.test(w);)++S;return S}function $f(w){return w.match(an)||[]}function Nf(w){return w.match(Gp)||[]}var Cf=function w(S){S=S==null?Ie:Ir.defaults(Ie.Object(),S,Ir.pick(Ie,Yp));var P=S.Array,D=S.Date,k=S.Error,Z=S.Function,ve=S.Math,re=S.Object,wn=S.RegExp,Tf=S.String,et=S.TypeError,Li=P.prototype,xf=Z.prototype,Pr=re.prototype,zi=S["__core-js_shared__"],ki=xf.toString,te=Pr.hasOwnProperty,Af=0,Qa=function(){var e=/[^.]+$/.exec(zi&&zi.keys&&zi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Hi=Pr.toString,Df=ki.call(re),qf=Ie._,jf=wn("^"+ki.call(te).replace(en,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ki=xa?S.Buffer:r,Ht=S.Symbol,Vi=S.Uint8Array,Ja=Ki?Ki.allocUnsafe:r,Fi=Ba(re.getPrototypeOf,re),Ya=re.create,Za=Pr.propertyIsEnumerable,Wi=Li.splice,Xa=Ht?Ht.isConcatSpreadable:r,Zr=Ht?Ht.iterator:r,er=Ht?Ht.toStringTag:r,Bi=function(){try{var e=nr(re,"defineProperty");return e({},"",{}),e}catch{}}(),Uf=S.clearTimeout!==Ie.clearTimeout&&S.clearTimeout,Mf=D&&D.now!==Ie.Date.now&&D.now,Lf=S.setTimeout!==Ie.setTimeout&&S.setTimeout,Gi=ve.ceil,Qi=ve.floor,_n=re.getOwnPropertySymbols,zf=Ki?Ki.isBuffer:r,ec=S.isFinite,kf=Li.join,Hf=Ba(re.keys,re),we=ve.max,Oe=ve.min,Kf=D.now,Vf=S.parseInt,tc=ve.random,Ff=Li.reverse,bn=nr(S,"DataView"),Xr=nr(S,"Map"),En=nr(S,"Promise"),Sr=nr(S,"Set"),ei=nr(S,"WeakMap"),ti=nr(re,"create"),Ji=ei&&new ei,Or={},Wf=or(bn),Bf=or(Xr),Gf=or(En),Qf=or(Sr),Jf=or(ei),Yi=Ht?Ht.prototype:r,ri=Yi?Yi.valueOf:r,rc=Yi?Yi.toString:r;function p(e){if(pe(e)&&!H(e)&&!(e instanceof G)){if(e instanceof tt)return e;if(te.call(e,"__wrapped__"))return iu(e)}return new tt(e)}var Rr=function(){function e(){}return function(i){if(!le(i))return{};if(Ya)return Ya(i);e.prototype=i;var n=new e;return e.prototype=r,n}}();function Zi(){}function tt(e,i){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!i,this.__index__=0,this.__values__=r}p.templateSettings={escape:up,evaluate:hp,interpolate:la,variable:"",imports:{_:p}},p.prototype=Zi.prototype,p.prototype.constructor=p,tt.prototype=Rr(Zi.prototype),tt.prototype.constructor=tt;function G(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=vt,this.__views__=[]}function Yf(){var e=new G(this.__wrapped__);return e.__actions__=je(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=je(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=je(this.__views__),e}function Zf(){if(this.__filtered__){var e=new G(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function Xf(){var e=this.__wrapped__.value(),i=this.__dir__,n=H(e),c=i<0,h=n?e.length:0,f=lg(0,h,this.__views__),m=f.start,y=f.end,b=y-m,O=c?y:m-1,R=this.__iteratees__,$=R.length,x=0,q=Oe(b,this.__takeCount__);if(!n||!c&&h==b&&q==b)return Oc(e,this.__actions__);var L=[];e:for(;b--&&x<q;){O+=i;for(var F=-1,z=e[O];++F<$;){var B=R[F],Q=B.iteratee,Ge=B.type,xe=Q(z);if(Ge==Wl)z=xe;else if(!xe){if(Ge==oa)continue e;break e}}L[x++]=z}return L}G.prototype=Rr(Zi.prototype),G.prototype.constructor=G;function tr(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var c=e[i];this.set(c[0],c[1])}}function ed(){this.__data__=ti?ti(null):{},this.size=0}function td(e){var i=this.has(e)&&delete this.__data__[e];return this.size-=i?1:0,i}function rd(e){var i=this.__data__;if(ti){var n=i[e];return n===v?r:n}return te.call(i,e)?i[e]:r}function id(e){var i=this.__data__;return ti?i[e]!==r:te.call(i,e)}function sd(e,i){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ti&&i===r?v:i,this}tr.prototype.clear=ed,tr.prototype.delete=td,tr.prototype.get=rd,tr.prototype.has=id,tr.prototype.set=sd;function St(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var c=e[i];this.set(c[0],c[1])}}function nd(){this.__data__=[],this.size=0}function od(e){var i=this.__data__,n=Xi(i,e);if(n<0)return!1;var c=i.length-1;return n==c?i.pop():Wi.call(i,n,1),--this.size,!0}function ad(e){var i=this.__data__,n=Xi(i,e);return n<0?r:i[n][1]}function cd(e){return Xi(this.__data__,e)>-1}function ud(e,i){var n=this.__data__,c=Xi(n,e);return c<0?(++this.size,n.push([e,i])):n[c][1]=i,this}St.prototype.clear=nd,St.prototype.delete=od,St.prototype.get=ad,St.prototype.has=cd,St.prototype.set=ud;function Ot(e){var i=-1,n=e==null?0:e.length;for(this.clear();++i<n;){var c=e[i];this.set(c[0],c[1])}}function hd(){this.size=0,this.__data__={hash:new tr,map:new(Xr||St),string:new tr}}function ld(e){var i=ls(this,e).delete(e);return this.size-=i?1:0,i}function pd(e){return ls(this,e).get(e)}function fd(e){return ls(this,e).has(e)}function dd(e,i){var n=ls(this,e),c=n.size;return n.set(e,i),this.size+=n.size==c?0:1,this}Ot.prototype.clear=hd,Ot.prototype.delete=ld,Ot.prototype.get=pd,Ot.prototype.has=fd,Ot.prototype.set=dd;function rr(e){var i=-1,n=e==null?0:e.length;for(this.__data__=new Ot;++i<n;)this.add(e[i])}function gd(e){return this.__data__.set(e,v),this}function md(e){return this.__data__.has(e)}rr.prototype.add=rr.prototype.push=gd,rr.prototype.has=md;function lt(e){var i=this.__data__=new St(e);this.size=i.size}function yd(){this.__data__=new St,this.size=0}function vd(e){var i=this.__data__,n=i.delete(e);return this.size=i.size,n}function wd(e){return this.__data__.get(e)}function _d(e){return this.__data__.has(e)}function bd(e,i){var n=this.__data__;if(n instanceof St){var c=n.__data__;if(!Xr||c.length<a-1)return c.push([e,i]),this.size=++n.size,this;n=this.__data__=new Ot(c)}return n.set(e,i),this.size=n.size,this}lt.prototype.clear=yd,lt.prototype.delete=vd,lt.prototype.get=wd,lt.prototype.has=_d,lt.prototype.set=bd;function ic(e,i){var n=H(e),c=!n&&ar(e),h=!n&&!c&&Bt(e),f=!n&&!c&&!h&&Tr(e),m=n||c||h||f,y=m?mn(e.length,Tf):[],b=y.length;for(var O in e)(i||te.call(e,O))&&!(m&&(O=="length"||h&&(O=="offset"||O=="parent")||f&&(O=="buffer"||O=="byteLength"||O=="byteOffset")||Ct(O,b)))&&y.push(O);return y}function sc(e){var i=e.length;return i?e[An(0,i-1)]:r}function Ed(e,i){return ps(je(e),ir(i,0,e.length))}function Id(e){return ps(je(e))}function In(e,i,n){(n!==r&&!pt(e[i],n)||n===r&&!(i in e))&&Rt(e,i,n)}function ii(e,i,n){var c=e[i];(!(te.call(e,i)&&pt(c,n))||n===r&&!(i in e))&&Rt(e,i,n)}function Xi(e,i){for(var n=e.length;n--;)if(pt(e[n][0],i))return n;return-1}function Pd(e,i,n,c){return Kt(e,function(h,f,m){i(c,h,n(h),m)}),c}function nc(e,i){return e&&_t(i,_e(i),e)}function Sd(e,i){return e&&_t(i,Me(i),e)}function Rt(e,i,n){i=="__proto__"&&Bi?Bi(e,i,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[i]=n}function Pn(e,i){for(var n=-1,c=i.length,h=P(c),f=e==null;++n<c;)h[n]=f?r:so(e,i[n]);return h}function ir(e,i,n){return e===e&&(n!==r&&(e=e<=n?e:n),i!==r&&(e=e>=i?e:i)),e}function rt(e,i,n,c,h,f){var m,y=i&_,b=i&I,O=i&C;if(n&&(m=h?n(e,c,h,f):n(e)),m!==r)return m;if(!le(e))return e;var R=H(e);if(R){if(m=fg(e),!y)return je(e,m)}else{var $=Re(e),x=$==Ti||$==aa;if(Bt(e))return Nc(e,y);if($==Pt||$==yr||x&&!h){if(m=b||x?{}:Gc(e),!y)return b?rg(e,Sd(m,e)):tg(e,nc(m,e))}else{if(!ie[$])return h?e:{};m=dg(e,$,y)}}f||(f=new lt);var q=f.get(e);if(q)return q;f.set(e,m),Iu(e)?e.forEach(function(z){m.add(rt(z,i,n,z,e,f))}):bu(e)&&e.forEach(function(z,B){m.set(B,rt(z,i,n,B,e,f))});var L=O?b?Vn:Kn:b?Me:_e,F=R?r:L(e);return Xe(F||e,function(z,B){F&&(B=z,z=e[B]),ii(m,B,rt(z,i,n,B,e,f))}),m}function Od(e){var i=_e(e);return function(n){return oc(n,e,i)}}function oc(e,i,n){var c=n.length;if(e==null)return!c;for(e=re(e);c--;){var h=n[c],f=i[h],m=e[h];if(m===r&&!(h in e)||!f(m))return!1}return!0}function ac(e,i,n){if(typeof e!="function")throw new et(l);return hi(function(){e.apply(r,n)},i)}function si(e,i,n,c){var h=-1,f=ji,m=!0,y=e.length,b=[],O=i.length;if(!y)return b;n&&(i=ce(i,Fe(n))),c?(f=hn,m=!1):i.length>=a&&(f=Yr,m=!1,i=new rr(i));e:for(;++h<y;){var R=e[h],$=n==null?R:n(R);if(R=c||R!==0?R:0,m&&$===$){for(var x=O;x--;)if(i[x]===$)continue e;b.push(R)}else f(i,$,c)||b.push(R)}return b}var Kt=Dc(wt),cc=Dc(On,!0);function Rd(e,i){var n=!0;return Kt(e,function(c,h,f){return n=!!i(c,h,f),n}),n}function es(e,i,n){for(var c=-1,h=e.length;++c<h;){var f=e[c],m=i(f);if(m!=null&&(y===r?m===m&&!Be(m):n(m,y)))var y=m,b=f}return b}function $d(e,i,n,c){var h=e.length;for(n=K(n),n<0&&(n=-n>h?0:h+n),c=c===r||c>h?h:K(c),c<0&&(c+=h),c=n>c?0:Su(c);n<c;)e[n++]=i;return e}function uc(e,i){var n=[];return Kt(e,function(c,h,f){i(c,h,f)&&n.push(c)}),n}function Pe(e,i,n,c,h){var f=-1,m=e.length;for(n||(n=mg),h||(h=[]);++f<m;){var y=e[f];i>0&&n(y)?i>1?Pe(y,i-1,n,c,h):zt(h,y):c||(h[h.length]=y)}return h}var Sn=qc(),hc=qc(!0);function wt(e,i){return e&&Sn(e,i,_e)}function On(e,i){return e&&hc(e,i,_e)}function ts(e,i){return Lt(i,function(n){return Tt(e[n])})}function sr(e,i){i=Ft(i,e);for(var n=0,c=i.length;e!=null&&n<c;)e=e[bt(i[n++])];return n&&n==c?e:r}function lc(e,i,n){var c=i(e);return H(e)?c:zt(c,n(e))}function Ce(e){return e==null?e===r?rp:ep:er&&er in re(e)?hg(e):Ig(e)}function Rn(e,i){return e>i}function Nd(e,i){return e!=null&&te.call(e,i)}function Cd(e,i){return e!=null&&i in re(e)}function Td(e,i,n){return e>=Oe(i,n)&&e<we(i,n)}function $n(e,i,n){for(var c=n?hn:ji,h=e[0].length,f=e.length,m=f,y=P(f),b=1/0,O=[];m--;){var R=e[m];m&&i&&(R=ce(R,Fe(i))),b=Oe(R.length,b),y[m]=!n&&(i||h>=120&&R.length>=120)?new rr(m&&R):r}R=e[0];var $=-1,x=y[0];e:for(;++$<h&&O.length<b;){var q=R[$],L=i?i(q):q;if(q=n||q!==0?q:0,!(x?Yr(x,L):c(O,L,n))){for(m=f;--m;){var F=y[m];if(!(F?Yr(F,L):c(e[m],L,n)))continue e}x&&x.push(L),O.push(q)}}return O}function xd(e,i,n,c){return wt(e,function(h,f,m){i(c,n(h),f,m)}),c}function ni(e,i,n){i=Ft(i,e),e=Zc(e,i);var c=e==null?e:e[bt(st(i))];return c==null?r:Ve(c,e,n)}function pc(e){return pe(e)&&Ce(e)==yr}function Ad(e){return pe(e)&&Ce(e)==Jr}function Dd(e){return pe(e)&&Ce(e)==Fr}function oi(e,i,n,c,h){return e===i?!0:e==null||i==null||!pe(e)&&!pe(i)?e!==e&&i!==i:qd(e,i,n,c,oi,h)}function qd(e,i,n,c,h,f){var m=H(e),y=H(i),b=m?Ni:Re(e),O=y?Ni:Re(i);b=b==yr?Pt:b,O=O==yr?Pt:O;var R=b==Pt,$=O==Pt,x=b==O;if(x&&Bt(e)){if(!Bt(i))return!1;m=!0,R=!1}if(x&&!R)return f||(f=new lt),m||Tr(e)?Fc(e,i,n,c,h,f):cg(e,i,b,n,c,h,f);if(!(n&N)){var q=R&&te.call(e,"__wrapped__"),L=$&&te.call(i,"__wrapped__");if(q||L){var F=q?e.value():e,z=L?i.value():i;return f||(f=new lt),h(F,z,n,c,f)}}return x?(f||(f=new lt),ug(e,i,n,c,h,f)):!1}function jd(e){return pe(e)&&Re(e)==ct}function Nn(e,i,n,c){var h=n.length,f=h,m=!c;if(e==null)return!f;for(e=re(e);h--;){var y=n[h];if(m&&y[2]?y[1]!==e[y[0]]:!(y[0]in e))return!1}for(;++h<f;){y=n[h];var b=y[0],O=e[b],R=y[1];if(m&&y[2]){if(O===r&&!(b in e))return!1}else{var $=new lt;if(c)var x=c(O,R,b,e,i,$);if(!(x===r?oi(R,O,N|U,c,$):x))return!1}}return!0}function fc(e){if(!le(e)||vg(e))return!1;var i=Tt(e)?jf:Sp;return i.test(or(e))}function Ud(e){return pe(e)&&Ce(e)==Br}function Md(e){return pe(e)&&Re(e)==ut}function Ld(e){return pe(e)&&vs(e.length)&&!!ae[Ce(e)]}function dc(e){return typeof e=="function"?e:e==null?Le:typeof e=="object"?H(e)?yc(e[0],e[1]):mc(e):ju(e)}function Cn(e){if(!ui(e))return Hf(e);var i=[];for(var n in re(e))te.call(e,n)&&n!="constructor"&&i.push(n);return i}function zd(e){if(!le(e))return Eg(e);var i=ui(e),n=[];for(var c in e)c=="constructor"&&(i||!te.call(e,c))||n.push(c);return n}function Tn(e,i){return e<i}function gc(e,i){var n=-1,c=Ue(e)?P(e.length):[];return Kt(e,function(h,f,m){c[++n]=i(h,f,m)}),c}function mc(e){var i=Wn(e);return i.length==1&&i[0][2]?Jc(i[0][0],i[0][1]):function(n){return n===e||Nn(n,e,i)}}function yc(e,i){return Gn(e)&&Qc(i)?Jc(bt(e),i):function(n){var c=so(n,e);return c===r&&c===i?no(n,e):oi(i,c,N|U)}}function rs(e,i,n,c,h){e!==i&&Sn(i,function(f,m){if(h||(h=new lt),le(f))kd(e,i,m,n,rs,c,h);else{var y=c?c(Jn(e,m),f,m+"",e,i,h):r;y===r&&(y=f),In(e,m,y)}},Me)}function kd(e,i,n,c,h,f,m){var y=Jn(e,n),b=Jn(i,n),O=m.get(b);if(O){In(e,n,O);return}var R=f?f(y,b,n+"",e,i,m):r,$=R===r;if($){var x=H(b),q=!x&&Bt(b),L=!x&&!q&&Tr(b);R=b,x||q||L?H(y)?R=y:de(y)?R=je(y):q?($=!1,R=Nc(b,!0)):L?($=!1,R=Cc(b,!0)):R=[]:li(b)||ar(b)?(R=y,ar(y)?R=Ou(y):(!le(y)||Tt(y))&&(R=Gc(b))):$=!1}$&&(m.set(b,R),h(R,b,c,f,m),m.delete(b)),In(e,n,R)}function vc(e,i){var n=e.length;if(n)return i+=i<0?n:0,Ct(i,n)?e[i]:r}function wc(e,i,n){i.length?i=ce(i,function(f){return H(f)?function(m){return sr(m,f.length===1?f[0]:f)}:f}):i=[Le];var c=-1;i=ce(i,Fe(M()));var h=gc(e,function(f,m,y){var b=ce(i,function(O){return O(f)});return{criteria:b,index:++c,value:f}});return df(h,function(f,m){return eg(f,m,n)})}function Hd(e,i){return _c(e,i,function(n,c){return no(e,c)})}function _c(e,i,n){for(var c=-1,h=i.length,f={};++c<h;){var m=i[c],y=sr(e,m);n(y,m)&&ai(f,Ft(m,e),y)}return f}function Kd(e){return function(i){return sr(i,e)}}function xn(e,i,n,c){var h=c?ff:_r,f=-1,m=i.length,y=e;for(e===i&&(i=je(i)),n&&(y=ce(e,Fe(n)));++f<m;)for(var b=0,O=i[f],R=n?n(O):O;(b=h(y,R,b,c))>-1;)y!==e&&Wi.call(y,b,1),Wi.call(e,b,1);return e}function bc(e,i){for(var n=e?i.length:0,c=n-1;n--;){var h=i[n];if(n==c||h!==f){var f=h;Ct(h)?Wi.call(e,h,1):jn(e,h)}}return e}function An(e,i){return e+Qi(tc()*(i-e+1))}function Vd(e,i,n,c){for(var h=-1,f=we(Gi((i-e)/(n||1)),0),m=P(f);f--;)m[c?f:++h]=e,e+=n;return m}function Dn(e,i){var n="";if(!e||i<1||i>mr)return n;do i%2&&(n+=e),i=Qi(i/2),i&&(e+=e);while(i);return n}function W(e,i){return Yn(Yc(e,i,Le),e+"")}function Fd(e){return sc(xr(e))}function Wd(e,i){var n=xr(e);return ps(n,ir(i,0,n.length))}function ai(e,i,n,c){if(!le(e))return e;i=Ft(i,e);for(var h=-1,f=i.length,m=f-1,y=e;y!=null&&++h<f;){var b=bt(i[h]),O=n;if(b==="__proto__"||b==="constructor"||b==="prototype")return e;if(h!=m){var R=y[b];O=c?c(R,b,y):r,O===r&&(O=le(R)?R:Ct(i[h+1])?[]:{})}ii(y,b,O),y=y[b]}return e}var Ec=Ji?function(e,i){return Ji.set(e,i),e}:Le,Bd=Bi?function(e,i){return Bi(e,"toString",{configurable:!0,enumerable:!1,value:ao(i),writable:!0})}:Le;function Gd(e){return ps(xr(e))}function it(e,i,n){var c=-1,h=e.length;i<0&&(i=-i>h?0:h+i),n=n>h?h:n,n<0&&(n+=h),h=i>n?0:n-i>>>0,i>>>=0;for(var f=P(h);++c<h;)f[c]=e[c+i];return f}function Qd(e,i){var n;return Kt(e,function(c,h,f){return n=i(c,h,f),!n}),!!n}function is(e,i,n){var c=0,h=e==null?c:e.length;if(typeof i=="number"&&i===i&&h<=Jl){for(;c<h;){var f=c+h>>>1,m=e[f];m!==null&&!Be(m)&&(n?m<=i:m<i)?c=f+1:h=f}return h}return qn(e,i,Le,n)}function qn(e,i,n,c){var h=0,f=e==null?0:e.length;if(f===0)return 0;i=n(i);for(var m=i!==i,y=i===null,b=Be(i),O=i===r;h<f;){var R=Qi((h+f)/2),$=n(e[R]),x=$!==r,q=$===null,L=$===$,F=Be($);if(m)var z=c||L;else O?z=L&&(c||x):y?z=L&&x&&(c||!q):b?z=L&&x&&!q&&(c||!F):q||F?z=!1:z=c?$<=i:$<i;z?h=R+1:f=R}return Oe(f,Ql)}function Ic(e,i){for(var n=-1,c=e.length,h=0,f=[];++n<c;){var m=e[n],y=i?i(m):m;if(!n||!pt(y,b)){var b=y;f[h++]=m===0?0:m}}return f}function Pc(e){return typeof e=="number"?e:Be(e)?$i:+e}function We(e){if(typeof e=="string")return e;if(H(e))return ce(e,We)+"";if(Be(e))return rc?rc.call(e):"";var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function Vt(e,i,n){var c=-1,h=ji,f=e.length,m=!0,y=[],b=y;if(n)m=!1,h=hn;else if(f>=a){var O=i?null:og(e);if(O)return Mi(O);m=!1,h=Yr,b=new rr}else b=i?[]:y;e:for(;++c<f;){var R=e[c],$=i?i(R):R;if(R=n||R!==0?R:0,m&&$===$){for(var x=b.length;x--;)if(b[x]===$)continue e;i&&b.push($),y.push(R)}else h(b,$,n)||(b!==y&&b.push($),y.push(R))}return y}function jn(e,i){return i=Ft(i,e),e=Zc(e,i),e==null||delete e[bt(st(i))]}function Sc(e,i,n,c){return ai(e,i,n(sr(e,i)),c)}function ss(e,i,n,c){for(var h=e.length,f=c?h:-1;(c?f--:++f<h)&&i(e[f],f,e););return n?it(e,c?0:f,c?f+1:h):it(e,c?f+1:0,c?h:f)}function Oc(e,i){var n=e;return n instanceof G&&(n=n.value()),ln(i,function(c,h){return h.func.apply(h.thisArg,zt([c],h.args))},n)}function Un(e,i,n){var c=e.length;if(c<2)return c?Vt(e[0]):[];for(var h=-1,f=P(c);++h<c;)for(var m=e[h],y=-1;++y<c;)y!=h&&(f[h]=si(f[h]||m,e[y],i,n));return Vt(Pe(f,1),i,n)}function Rc(e,i,n){for(var c=-1,h=e.length,f=i.length,m={};++c<h;){var y=c<f?i[c]:r;n(m,e[c],y)}return m}function Mn(e){return de(e)?e:[]}function Ln(e){return typeof e=="function"?e:Le}function Ft(e,i){return H(e)?e:Gn(e,i)?[e]:ru(ee(e))}var Jd=W;function Wt(e,i,n){var c=e.length;return n=n===r?c:n,!i&&n>=c?e:it(e,i,n)}var $c=Uf||function(e){return Ie.clearTimeout(e)};function Nc(e,i){if(i)return e.slice();var n=e.length,c=Ja?Ja(n):new e.constructor(n);return e.copy(c),c}function zn(e){var i=new e.constructor(e.byteLength);return new Vi(i).set(new Vi(e)),i}function Yd(e,i){var n=i?zn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Zd(e){var i=new e.constructor(e.source,pa.exec(e));return i.lastIndex=e.lastIndex,i}function Xd(e){return ri?re(ri.call(e)):{}}function Cc(e,i){var n=i?zn(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Tc(e,i){if(e!==i){var n=e!==r,c=e===null,h=e===e,f=Be(e),m=i!==r,y=i===null,b=i===i,O=Be(i);if(!y&&!O&&!f&&e>i||f&&m&&b&&!y&&!O||c&&m&&b||!n&&b||!h)return 1;if(!c&&!f&&!O&&e<i||O&&n&&h&&!c&&!f||y&&n&&h||!m&&h||!b)return-1}return 0}function eg(e,i,n){for(var c=-1,h=e.criteria,f=i.criteria,m=h.length,y=n.length;++c<m;){var b=Tc(h[c],f[c]);if(b){if(c>=y)return b;var O=n[c];return b*(O=="desc"?-1:1)}}return e.index-i.index}function xc(e,i,n,c){for(var h=-1,f=e.length,m=n.length,y=-1,b=i.length,O=we(f-m,0),R=P(b+O),$=!c;++y<b;)R[y]=i[y];for(;++h<m;)($||h<f)&&(R[n[h]]=e[h]);for(;O--;)R[y++]=e[h++];return R}function Ac(e,i,n,c){for(var h=-1,f=e.length,m=-1,y=n.length,b=-1,O=i.length,R=we(f-y,0),$=P(R+O),x=!c;++h<R;)$[h]=e[h];for(var q=h;++b<O;)$[q+b]=i[b];for(;++m<y;)(x||h<f)&&($[q+n[m]]=e[h++]);return $}function je(e,i){var n=-1,c=e.length;for(i||(i=P(c));++n<c;)i[n]=e[n];return i}function _t(e,i,n,c){var h=!n;n||(n={});for(var f=-1,m=i.length;++f<m;){var y=i[f],b=c?c(n[y],e[y],y,n,e):r;b===r&&(b=e[y]),h?Rt(n,y,b):ii(n,y,b)}return n}function tg(e,i){return _t(e,Bn(e),i)}function rg(e,i){return _t(e,Wc(e),i)}function ns(e,i){return function(n,c){var h=H(n)?af:Pd,f=i?i():{};return h(n,e,M(c,2),f)}}function $r(e){return W(function(i,n){var c=-1,h=n.length,f=h>1?n[h-1]:r,m=h>2?n[2]:r;for(f=e.length>3&&typeof f=="function"?(h--,f):r,m&&Te(n[0],n[1],m)&&(f=h<3?r:f,h=1),i=re(i);++c<h;){var y=n[c];y&&e(i,y,c,f)}return i})}function Dc(e,i){return function(n,c){if(n==null)return n;if(!Ue(n))return e(n,c);for(var h=n.length,f=i?h:-1,m=re(n);(i?f--:++f<h)&&c(m[f],f,m)!==!1;);return n}}function qc(e){return function(i,n,c){for(var h=-1,f=re(i),m=c(i),y=m.length;y--;){var b=m[e?y:++h];if(n(f[b],b,f)===!1)break}return i}}function ig(e,i,n){var c=i&A,h=ci(e);function f(){var m=this&&this!==Ie&&this instanceof f?h:e;return m.apply(c?n:this,arguments)}return f}function jc(e){return function(i){i=ee(i);var n=br(i)?ht(i):r,c=n?n[0]:i.charAt(0),h=n?Wt(n,1).join(""):i.slice(1);return c[e]()+h}}function Nr(e){return function(i){return ln(Du(Au(i).replace(Wp,"")),e,"")}}function ci(e){return function(){var i=arguments;switch(i.length){case 0:return new e;case 1:return new e(i[0]);case 2:return new e(i[0],i[1]);case 3:return new e(i[0],i[1],i[2]);case 4:return new e(i[0],i[1],i[2],i[3]);case 5:return new e(i[0],i[1],i[2],i[3],i[4]);case 6:return new e(i[0],i[1],i[2],i[3],i[4],i[5]);case 7:return new e(i[0],i[1],i[2],i[3],i[4],i[5],i[6])}var n=Rr(e.prototype),c=e.apply(n,i);return le(c)?c:n}}function sg(e,i,n){var c=ci(e);function h(){for(var f=arguments.length,m=P(f),y=f,b=Cr(h);y--;)m[y]=arguments[y];var O=f<3&&m[0]!==b&&m[f-1]!==b?[]:kt(m,b);if(f-=O.length,f<n)return kc(e,i,os,h.placeholder,r,m,O,r,r,n-f);var R=this&&this!==Ie&&this instanceof h?c:e;return Ve(R,this,m)}return h}function Uc(e){return function(i,n,c){var h=re(i);if(!Ue(i)){var f=M(n,3);i=_e(i),n=function(y){return f(h[y],y,h)}}var m=e(i,n,c);return m>-1?h[f?i[m]:m]:r}}function Mc(e){return Nt(function(i){var n=i.length,c=n,h=tt.prototype.thru;for(e&&i.reverse();c--;){var f=i[c];if(typeof f!="function")throw new et(l);if(h&&!m&&hs(f)=="wrapper")var m=new tt([],!0)}for(c=m?c:n;++c<n;){f=i[c];var y=hs(f),b=y=="wrapper"?Fn(f):r;b&&Qn(b[0])&&b[1]==(fe|J|he|Ne)&&!b[4].length&&b[9]==1?m=m[hs(b[0])].apply(m,b[3]):m=f.length==1&&Qn(f)?m[y]():m.thru(f)}return function(){var O=arguments,R=O[0];if(m&&O.length==1&&H(R))return m.plant(R).value();for(var $=0,x=n?i[$].apply(this,O):R;++$<n;)x=i[$].call(this,x);return x}})}function os(e,i,n,c,h,f,m,y,b,O){var R=i&fe,$=i&A,x=i&V,q=i&(J|X),L=i&Mt,F=x?r:ci(e);function z(){for(var B=arguments.length,Q=P(B),Ge=B;Ge--;)Q[Ge]=arguments[Ge];if(q)var xe=Cr(z),Qe=mf(Q,xe);if(c&&(Q=xc(Q,c,h,q)),f&&(Q=Ac(Q,f,m,q)),B-=Qe,q&&B<O){var ge=kt(Q,xe);return kc(e,i,os,z.placeholder,n,Q,ge,y,b,O-B)}var ft=$?n:this,At=x?ft[e]:e;return B=Q.length,y?Q=Pg(Q,y):L&&B>1&&Q.reverse(),R&&b<B&&(Q.length=b),this&&this!==Ie&&this instanceof z&&(At=F||ci(At)),At.apply(ft,Q)}return z}function Lc(e,i){return function(n,c){return xd(n,e,i(c),{})}}function as(e,i){return function(n,c){var h;if(n===r&&c===r)return i;if(n!==r&&(h=n),c!==r){if(h===r)return c;typeof n=="string"||typeof c=="string"?(n=We(n),c=We(c)):(n=Pc(n),c=Pc(c)),h=e(n,c)}return h}}function kn(e){return Nt(function(i){return i=ce(i,Fe(M())),W(function(n){var c=this;return e(i,function(h){return Ve(h,c,n)})})})}function cs(e,i){i=i===r?" ":We(i);var n=i.length;if(n<2)return n?Dn(i,e):i;var c=Dn(i,Gi(e/Er(i)));return br(i)?Wt(ht(c),0,e).join(""):c.slice(0,e)}function ng(e,i,n,c){var h=i&A,f=ci(e);function m(){for(var y=-1,b=arguments.length,O=-1,R=c.length,$=P(R+b),x=this&&this!==Ie&&this instanceof m?f:e;++O<R;)$[O]=c[O];for(;b--;)$[O++]=arguments[++y];return Ve(x,h?n:this,$)}return m}function zc(e){return function(i,n,c){return c&&typeof c!="number"&&Te(i,n,c)&&(n=c=r),i=xt(i),n===r?(n=i,i=0):n=xt(n),c=c===r?i<n?1:-1:xt(c),Vd(i,n,c,e)}}function us(e){return function(i,n){return typeof i=="string"&&typeof n=="string"||(i=nt(i),n=nt(n)),e(i,n)}}function kc(e,i,n,c,h,f,m,y,b,O){var R=i&J,$=R?m:r,x=R?r:m,q=R?f:r,L=R?r:f;i|=R?he:qe,i&=~(R?qe:he),i&oe||(i&=-4);var F=[e,i,h,q,$,L,x,y,b,O],z=n.apply(r,F);return Qn(e)&&Xc(z,F),z.placeholder=c,eu(z,e,i)}function Hn(e){var i=ve[e];return function(n,c){if(n=nt(n),c=c==null?0:Oe(K(c),292),c&&ec(n)){var h=(ee(n)+"e").split("e"),f=i(h[0]+"e"+(+h[1]+c));return h=(ee(f)+"e").split("e"),+(h[0]+"e"+(+h[1]-c))}return i(n)}}var og=Sr&&1/Mi(new Sr([,-0]))[1]==Ri?function(e){return new Sr(e)}:ho;function Hc(e){return function(i){var n=Re(i);return n==ct?vn(i):n==ut?If(i):gf(i,e(i))}}function $t(e,i,n,c,h,f,m,y){var b=i&V;if(!b&&typeof e!="function")throw new et(l);var O=c?c.length:0;if(O||(i&=-97,c=h=r),m=m===r?m:we(K(m),0),y=y===r?y:K(y),O-=h?h.length:0,i&qe){var R=c,$=h;c=h=r}var x=b?r:Fn(e),q=[e,i,n,c,h,R,$,f,m,y];if(x&&bg(q,x),e=q[0],i=q[1],n=q[2],c=q[3],h=q[4],y=q[9]=q[9]===r?b?0:e.length:we(q[9]-O,0),!y&&i&(J|X)&&(i&=-25),!i||i==A)var L=ig(e,i,n);else i==J||i==X?L=sg(e,i,y):(i==he||i==(A|he))&&!h.length?L=ng(e,i,n,c):L=os.apply(r,q);var F=x?Ec:Xc;return eu(F(L,q),e,i)}function Kc(e,i,n,c){return e===r||pt(e,Pr[n])&&!te.call(c,n)?i:e}function Vc(e,i,n,c,h,f){return le(e)&&le(i)&&(f.set(i,e),rs(e,i,r,Vc,f),f.delete(i)),e}function ag(e){return li(e)?r:e}function Fc(e,i,n,c,h,f){var m=n&N,y=e.length,b=i.length;if(y!=b&&!(m&&b>y))return!1;var O=f.get(e),R=f.get(i);if(O&&R)return O==i&&R==e;var $=-1,x=!0,q=n&U?new rr:r;for(f.set(e,i),f.set(i,e);++$<y;){var L=e[$],F=i[$];if(c)var z=m?c(F,L,$,i,e,f):c(L,F,$,e,i,f);if(z!==r){if(z)continue;x=!1;break}if(q){if(!pn(i,function(B,Q){if(!Yr(q,Q)&&(L===B||h(L,B,n,c,f)))return q.push(Q)})){x=!1;break}}else if(!(L===F||h(L,F,n,c,f))){x=!1;break}}return f.delete(e),f.delete(i),x}function cg(e,i,n,c,h,f,m){switch(n){case vr:if(e.byteLength!=i.byteLength||e.byteOffset!=i.byteOffset)return!1;e=e.buffer,i=i.buffer;case Jr:return!(e.byteLength!=i.byteLength||!f(new Vi(e),new Vi(i)));case Vr:case Fr:case Wr:return pt(+e,+i);case Ci:return e.name==i.name&&e.message==i.message;case Br:case Gr:return e==i+"";case ct:var y=vn;case ut:var b=c&N;if(y||(y=Mi),e.size!=i.size&&!b)return!1;var O=m.get(e);if(O)return O==i;c|=U,m.set(e,i);var R=Fc(y(e),y(i),c,h,f,m);return m.delete(e),R;case xi:if(ri)return ri.call(e)==ri.call(i)}return!1}function ug(e,i,n,c,h,f){var m=n&N,y=Kn(e),b=y.length,O=Kn(i),R=O.length;if(b!=R&&!m)return!1;for(var $=b;$--;){var x=y[$];if(!(m?x in i:te.call(i,x)))return!1}var q=f.get(e),L=f.get(i);if(q&&L)return q==i&&L==e;var F=!0;f.set(e,i),f.set(i,e);for(var z=m;++$<b;){x=y[$];var B=e[x],Q=i[x];if(c)var Ge=m?c(Q,B,x,i,e,f):c(B,Q,x,e,i,f);if(!(Ge===r?B===Q||h(B,Q,n,c,f):Ge)){F=!1;break}z||(z=x=="constructor")}if(F&&!z){var xe=e.constructor,Qe=i.constructor;xe!=Qe&&"constructor"in e&&"constructor"in i&&!(typeof xe=="function"&&xe instanceof xe&&typeof Qe=="function"&&Qe instanceof Qe)&&(F=!1)}return f.delete(e),f.delete(i),F}function Nt(e){return Yn(Yc(e,r,ou),e+"")}function Kn(e){return lc(e,_e,Bn)}function Vn(e){return lc(e,Me,Wc)}var Fn=Ji?function(e){return Ji.get(e)}:ho;function hs(e){for(var i=e.name+"",n=Or[i],c=te.call(Or,i)?n.length:0;c--;){var h=n[c],f=h.func;if(f==null||f==e)return h.name}return i}function Cr(e){var i=te.call(p,"placeholder")?p:e;return i.placeholder}function M(){var e=p.iteratee||co;return e=e===co?dc:e,arguments.length?e(arguments[0],arguments[1]):e}function ls(e,i){var n=e.__data__;return yg(i)?n[typeof i=="string"?"string":"hash"]:n.map}function Wn(e){for(var i=_e(e),n=i.length;n--;){var c=i[n],h=e[c];i[n]=[c,h,Qc(h)]}return i}function nr(e,i){var n=_f(e,i);return fc(n)?n:r}function hg(e){var i=te.call(e,er),n=e[er];try{e[er]=r;var c=!0}catch{}var h=Hi.call(e);return c&&(i?e[er]=n:delete e[er]),h}var Bn=_n?function(e){return e==null?[]:(e=re(e),Lt(_n(e),function(i){return Za.call(e,i)}))}:lo,Wc=_n?function(e){for(var i=[];e;)zt(i,Bn(e)),e=Fi(e);return i}:lo,Re=Ce;(bn&&Re(new bn(new ArrayBuffer(1)))!=vr||Xr&&Re(new Xr)!=ct||En&&Re(En.resolve())!=ca||Sr&&Re(new Sr)!=ut||ei&&Re(new ei)!=Qr)&&(Re=function(e){var i=Ce(e),n=i==Pt?e.constructor:r,c=n?or(n):"";if(c)switch(c){case Wf:return vr;case Bf:return ct;case Gf:return ca;case Qf:return ut;case Jf:return Qr}return i});function lg(e,i,n){for(var c=-1,h=n.length;++c<h;){var f=n[c],m=f.size;switch(f.type){case"drop":e+=m;break;case"dropRight":i-=m;break;case"take":i=Oe(i,e+m);break;case"takeRight":e=we(e,i-m);break}}return{start:e,end:i}}function pg(e){var i=e.match(yp);return i?i[1].split(vp):[]}function Bc(e,i,n){i=Ft(i,e);for(var c=-1,h=i.length,f=!1;++c<h;){var m=bt(i[c]);if(!(f=e!=null&&n(e,m)))break;e=e[m]}return f||++c!=h?f:(h=e==null?0:e.length,!!h&&vs(h)&&Ct(m,h)&&(H(e)||ar(e)))}function fg(e){var i=e.length,n=new e.constructor(i);return i&&typeof e[0]=="string"&&te.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function Gc(e){return typeof e.constructor=="function"&&!ui(e)?Rr(Fi(e)):{}}function dg(e,i,n){var c=e.constructor;switch(i){case Jr:return zn(e);case Vr:case Fr:return new c(+e);case vr:return Yd(e,n);case Fs:case Ws:case Bs:case Gs:case Qs:case Js:case Ys:case Zs:case Xs:return Cc(e,n);case ct:return new c;case Wr:case Gr:return new c(e);case Br:return Zd(e);case ut:return new c;case xi:return Xd(e)}}function gg(e,i){var n=i.length;if(!n)return e;var c=n-1;return i[c]=(n>1?"& ":"")+i[c],i=i.join(n>2?", ":" "),e.replace(mp,`{
|
|
29
|
-
/* [wrapped with `+i+`] */
|
|
30
|
-
`)}function mg(e){return H(e)||ar(e)||!!(Xa&&e&&e[Xa])}function Ct(e,i){var n=typeof e;return i=i??mr,!!i&&(n=="number"||n!="symbol"&&Rp.test(e))&&e>-1&&e%1==0&&e<i}function Te(e,i,n){if(!le(n))return!1;var c=typeof i;return(c=="number"?Ue(n)&&Ct(i,n.length):c=="string"&&i in n)?pt(n[i],e):!1}function Gn(e,i){if(H(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Be(e)?!0:pp.test(e)||!lp.test(e)||i!=null&&e in re(i)}function yg(e){var i=typeof e;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?e!=="__proto__":e===null}function Qn(e){var i=hs(e),n=p[i];if(typeof n!="function"||!(i in G.prototype))return!1;if(e===n)return!0;var c=Fn(n);return!!c&&e===c[0]}function vg(e){return!!Qa&&Qa in e}var wg=zi?Tt:po;function ui(e){var i=e&&e.constructor,n=typeof i=="function"&&i.prototype||Pr;return e===n}function Qc(e){return e===e&&!le(e)}function Jc(e,i){return function(n){return n==null?!1:n[e]===i&&(i!==r||e in re(n))}}function _g(e){var i=ms(e,function(c){return n.size===d&&n.clear(),c}),n=i.cache;return i}function bg(e,i){var n=e[1],c=i[1],h=n|c,f=h<(A|V|fe),m=c==fe&&n==J||c==fe&&n==Ne&&e[7].length<=i[8]||c==(fe|Ne)&&i[7].length<=i[8]&&n==J;if(!(f||m))return e;c&A&&(e[2]=i[2],h|=n&A?0:oe);var y=i[3];if(y){var b=e[3];e[3]=b?xc(b,y,i[4]):y,e[4]=b?kt(e[3],E):i[4]}return y=i[5],y&&(b=e[5],e[5]=b?Ac(b,y,i[6]):y,e[6]=b?kt(e[5],E):i[6]),y=i[7],y&&(e[7]=y),c&fe&&(e[8]=e[8]==null?i[8]:Oe(e[8],i[8])),e[9]==null&&(e[9]=i[9]),e[0]=i[0],e[1]=h,e}function Eg(e){var i=[];if(e!=null)for(var n in re(e))i.push(n);return i}function Ig(e){return Hi.call(e)}function Yc(e,i,n){return i=we(i===r?e.length-1:i,0),function(){for(var c=arguments,h=-1,f=we(c.length-i,0),m=P(f);++h<f;)m[h]=c[i+h];h=-1;for(var y=P(i+1);++h<i;)y[h]=c[h];return y[i]=n(m),Ve(e,this,y)}}function Zc(e,i){return i.length<2?e:sr(e,it(i,0,-1))}function Pg(e,i){for(var n=e.length,c=Oe(i.length,n),h=je(e);c--;){var f=i[c];e[c]=Ct(f,n)?h[f]:r}return e}function Jn(e,i){if(!(i==="constructor"&&typeof e[i]=="function")&&i!="__proto__")return e[i]}var Xc=tu(Ec),hi=Lf||function(e,i){return Ie.setTimeout(e,i)},Yn=tu(Bd);function eu(e,i,n){var c=i+"";return Yn(e,gg(c,Sg(pg(c),n)))}function tu(e){var i=0,n=0;return function(){var c=Kf(),h=Fl-(c-n);if(n=c,h>0){if(++i>=Vl)return arguments[0]}else i=0;return e.apply(r,arguments)}}function ps(e,i){var n=-1,c=e.length,h=c-1;for(i=i===r?c:i;++n<i;){var f=An(n,h),m=e[f];e[f]=e[n],e[n]=m}return e.length=i,e}var ru=_g(function(e){var i=[];return e.charCodeAt(0)===46&&i.push(""),e.replace(fp,function(n,c,h,f){i.push(h?f.replace(bp,"$1"):c||n)}),i});function bt(e){if(typeof e=="string"||Be(e))return e;var i=e+"";return i=="0"&&1/e==-1/0?"-0":i}function or(e){if(e!=null){try{return ki.call(e)}catch{}try{return e+""}catch{}}return""}function Sg(e,i){return Xe(Yl,function(n){var c="_."+n[0];i&n[1]&&!ji(e,c)&&e.push(c)}),e.sort()}function iu(e){if(e instanceof G)return e.clone();var i=new tt(e.__wrapped__,e.__chain__);return i.__actions__=je(e.__actions__),i.__index__=e.__index__,i.__values__=e.__values__,i}function Og(e,i,n){(n?Te(e,i,n):i===r)?i=1:i=we(K(i),0);var c=e==null?0:e.length;if(!c||i<1)return[];for(var h=0,f=0,m=P(Gi(c/i));h<c;)m[f++]=it(e,h,h+=i);return m}function Rg(e){for(var i=-1,n=e==null?0:e.length,c=0,h=[];++i<n;){var f=e[i];f&&(h[c++]=f)}return h}function $g(){var e=arguments.length;if(!e)return[];for(var i=P(e-1),n=arguments[0],c=e;c--;)i[c-1]=arguments[c];return zt(H(n)?je(n):[n],Pe(i,1))}var Ng=W(function(e,i){return de(e)?si(e,Pe(i,1,de,!0)):[]}),Cg=W(function(e,i){var n=st(i);return de(n)&&(n=r),de(e)?si(e,Pe(i,1,de,!0),M(n,2)):[]}),Tg=W(function(e,i){var n=st(i);return de(n)&&(n=r),de(e)?si(e,Pe(i,1,de,!0),r,n):[]});function xg(e,i,n){var c=e==null?0:e.length;return c?(i=n||i===r?1:K(i),it(e,i<0?0:i,c)):[]}function Ag(e,i,n){var c=e==null?0:e.length;return c?(i=n||i===r?1:K(i),i=c-i,it(e,0,i<0?0:i)):[]}function Dg(e,i){return e&&e.length?ss(e,M(i,3),!0,!0):[]}function qg(e,i){return e&&e.length?ss(e,M(i,3),!0):[]}function jg(e,i,n,c){var h=e==null?0:e.length;return h?(n&&typeof n!="number"&&Te(e,i,n)&&(n=0,c=h),$d(e,i,n,c)):[]}function su(e,i,n){var c=e==null?0:e.length;if(!c)return-1;var h=n==null?0:K(n);return h<0&&(h=we(c+h,0)),Ui(e,M(i,3),h)}function nu(e,i,n){var c=e==null?0:e.length;if(!c)return-1;var h=c-1;return n!==r&&(h=K(n),h=n<0?we(c+h,0):Oe(h,c-1)),Ui(e,M(i,3),h,!0)}function ou(e){var i=e==null?0:e.length;return i?Pe(e,1):[]}function Ug(e){var i=e==null?0:e.length;return i?Pe(e,Ri):[]}function Mg(e,i){var n=e==null?0:e.length;return n?(i=i===r?1:K(i),Pe(e,i)):[]}function Lg(e){for(var i=-1,n=e==null?0:e.length,c={};++i<n;){var h=e[i];c[h[0]]=h[1]}return c}function au(e){return e&&e.length?e[0]:r}function zg(e,i,n){var c=e==null?0:e.length;if(!c)return-1;var h=n==null?0:K(n);return h<0&&(h=we(c+h,0)),_r(e,i,h)}function kg(e){var i=e==null?0:e.length;return i?it(e,0,-1):[]}var Hg=W(function(e){var i=ce(e,Mn);return i.length&&i[0]===e[0]?$n(i):[]}),Kg=W(function(e){var i=st(e),n=ce(e,Mn);return i===st(n)?i=r:n.pop(),n.length&&n[0]===e[0]?$n(n,M(i,2)):[]}),Vg=W(function(e){var i=st(e),n=ce(e,Mn);return i=typeof i=="function"?i:r,i&&n.pop(),n.length&&n[0]===e[0]?$n(n,r,i):[]});function Fg(e,i){return e==null?"":kf.call(e,i)}function st(e){var i=e==null?0:e.length;return i?e[i-1]:r}function Wg(e,i,n){var c=e==null?0:e.length;if(!c)return-1;var h=c;return n!==r&&(h=K(n),h=h<0?we(c+h,0):Oe(h,c-1)),i===i?Sf(e,i,h):Ui(e,ka,h,!0)}function Bg(e,i){return e&&e.length?vc(e,K(i)):r}var Gg=W(cu);function cu(e,i){return e&&e.length&&i&&i.length?xn(e,i):e}function Qg(e,i,n){return e&&e.length&&i&&i.length?xn(e,i,M(n,2)):e}function Jg(e,i,n){return e&&e.length&&i&&i.length?xn(e,i,r,n):e}var Yg=Nt(function(e,i){var n=e==null?0:e.length,c=Pn(e,i);return bc(e,ce(i,function(h){return Ct(h,n)?+h:h}).sort(Tc)),c});function Zg(e,i){var n=[];if(!(e&&e.length))return n;var c=-1,h=[],f=e.length;for(i=M(i,3);++c<f;){var m=e[c];i(m,c,e)&&(n.push(m),h.push(c))}return bc(e,h),n}function Zn(e){return e==null?e:Ff.call(e)}function Xg(e,i,n){var c=e==null?0:e.length;return c?(n&&typeof n!="number"&&Te(e,i,n)?(i=0,n=c):(i=i==null?0:K(i),n=n===r?c:K(n)),it(e,i,n)):[]}function em(e,i){return is(e,i)}function tm(e,i,n){return qn(e,i,M(n,2))}function rm(e,i){var n=e==null?0:e.length;if(n){var c=is(e,i);if(c<n&&pt(e[c],i))return c}return-1}function im(e,i){return is(e,i,!0)}function sm(e,i,n){return qn(e,i,M(n,2),!0)}function nm(e,i){var n=e==null?0:e.length;if(n){var c=is(e,i,!0)-1;if(pt(e[c],i))return c}return-1}function om(e){return e&&e.length?Ic(e):[]}function am(e,i){return e&&e.length?Ic(e,M(i,2)):[]}function cm(e){var i=e==null?0:e.length;return i?it(e,1,i):[]}function um(e,i,n){return e&&e.length?(i=n||i===r?1:K(i),it(e,0,i<0?0:i)):[]}function hm(e,i,n){var c=e==null?0:e.length;return c?(i=n||i===r?1:K(i),i=c-i,it(e,i<0?0:i,c)):[]}function lm(e,i){return e&&e.length?ss(e,M(i,3),!1,!0):[]}function pm(e,i){return e&&e.length?ss(e,M(i,3)):[]}var fm=W(function(e){return Vt(Pe(e,1,de,!0))}),dm=W(function(e){var i=st(e);return de(i)&&(i=r),Vt(Pe(e,1,de,!0),M(i,2))}),gm=W(function(e){var i=st(e);return i=typeof i=="function"?i:r,Vt(Pe(e,1,de,!0),r,i)});function mm(e){return e&&e.length?Vt(e):[]}function ym(e,i){return e&&e.length?Vt(e,M(i,2)):[]}function vm(e,i){return i=typeof i=="function"?i:r,e&&e.length?Vt(e,r,i):[]}function Xn(e){if(!(e&&e.length))return[];var i=0;return e=Lt(e,function(n){if(de(n))return i=we(n.length,i),!0}),mn(i,function(n){return ce(e,fn(n))})}function uu(e,i){if(!(e&&e.length))return[];var n=Xn(e);return i==null?n:ce(n,function(c){return Ve(i,r,c)})}var wm=W(function(e,i){return de(e)?si(e,i):[]}),_m=W(function(e){return Un(Lt(e,de))}),bm=W(function(e){var i=st(e);return de(i)&&(i=r),Un(Lt(e,de),M(i,2))}),Em=W(function(e){var i=st(e);return i=typeof i=="function"?i:r,Un(Lt(e,de),r,i)}),Im=W(Xn);function Pm(e,i){return Rc(e||[],i||[],ii)}function Sm(e,i){return Rc(e||[],i||[],ai)}var Om=W(function(e){var i=e.length,n=i>1?e[i-1]:r;return n=typeof n=="function"?(e.pop(),n):r,uu(e,n)});function hu(e){var i=p(e);return i.__chain__=!0,i}function Rm(e,i){return i(e),e}function fs(e,i){return i(e)}var $m=Nt(function(e){var i=e.length,n=i?e[0]:0,c=this.__wrapped__,h=function(f){return Pn(f,e)};return i>1||this.__actions__.length||!(c instanceof G)||!Ct(n)?this.thru(h):(c=c.slice(n,+n+(i?1:0)),c.__actions__.push({func:fs,args:[h],thisArg:r}),new tt(c,this.__chain__).thru(function(f){return i&&!f.length&&f.push(r),f}))});function Nm(){return hu(this)}function Cm(){return new tt(this.value(),this.__chain__)}function Tm(){this.__values__===r&&(this.__values__=Pu(this.value()));var e=this.__index__>=this.__values__.length,i=e?r:this.__values__[this.__index__++];return{done:e,value:i}}function xm(){return this}function Am(e){for(var i,n=this;n instanceof Zi;){var c=iu(n);c.__index__=0,c.__values__=r,i?h.__wrapped__=c:i=c;var h=c;n=n.__wrapped__}return h.__wrapped__=e,i}function Dm(){var e=this.__wrapped__;if(e instanceof G){var i=e;return this.__actions__.length&&(i=new G(this)),i=i.reverse(),i.__actions__.push({func:fs,args:[Zn],thisArg:r}),new tt(i,this.__chain__)}return this.thru(Zn)}function qm(){return Oc(this.__wrapped__,this.__actions__)}var jm=ns(function(e,i,n){te.call(e,n)?++e[n]:Rt(e,n,1)});function Um(e,i,n){var c=H(e)?La:Rd;return n&&Te(e,i,n)&&(i=r),c(e,M(i,3))}function Mm(e,i){var n=H(e)?Lt:uc;return n(e,M(i,3))}var Lm=Uc(su),zm=Uc(nu);function km(e,i){return Pe(ds(e,i),1)}function Hm(e,i){return Pe(ds(e,i),Ri)}function Km(e,i,n){return n=n===r?1:K(n),Pe(ds(e,i),n)}function lu(e,i){var n=H(e)?Xe:Kt;return n(e,M(i,3))}function pu(e,i){var n=H(e)?cf:cc;return n(e,M(i,3))}var Vm=ns(function(e,i,n){te.call(e,n)?e[n].push(i):Rt(e,n,[i])});function Fm(e,i,n,c){e=Ue(e)?e:xr(e),n=n&&!c?K(n):0;var h=e.length;return n<0&&(n=we(h+n,0)),ws(e)?n<=h&&e.indexOf(i,n)>-1:!!h&&_r(e,i,n)>-1}var Wm=W(function(e,i,n){var c=-1,h=typeof i=="function",f=Ue(e)?P(e.length):[];return Kt(e,function(m){f[++c]=h?Ve(i,m,n):ni(m,i,n)}),f}),Bm=ns(function(e,i,n){Rt(e,n,i)});function ds(e,i){var n=H(e)?ce:gc;return n(e,M(i,3))}function Gm(e,i,n,c){return e==null?[]:(H(i)||(i=i==null?[]:[i]),n=c?r:n,H(n)||(n=n==null?[]:[n]),wc(e,i,n))}var Qm=ns(function(e,i,n){e[n?0:1].push(i)},function(){return[[],[]]});function Jm(e,i,n){var c=H(e)?ln:Ka,h=arguments.length<3;return c(e,M(i,4),n,h,Kt)}function Ym(e,i,n){var c=H(e)?uf:Ka,h=arguments.length<3;return c(e,M(i,4),n,h,cc)}function Zm(e,i){var n=H(e)?Lt:uc;return n(e,ys(M(i,3)))}function Xm(e){var i=H(e)?sc:Fd;return i(e)}function ey(e,i,n){(n?Te(e,i,n):i===r)?i=1:i=K(i);var c=H(e)?Ed:Wd;return c(e,i)}function ty(e){var i=H(e)?Id:Gd;return i(e)}function ry(e){if(e==null)return 0;if(Ue(e))return ws(e)?Er(e):e.length;var i=Re(e);return i==ct||i==ut?e.size:Cn(e).length}function iy(e,i,n){var c=H(e)?pn:Qd;return n&&Te(e,i,n)&&(i=r),c(e,M(i,3))}var sy=W(function(e,i){if(e==null)return[];var n=i.length;return n>1&&Te(e,i[0],i[1])?i=[]:n>2&&Te(i[0],i[1],i[2])&&(i=[i[0]]),wc(e,Pe(i,1),[])}),gs=Mf||function(){return Ie.Date.now()};function ny(e,i){if(typeof i!="function")throw new et(l);return e=K(e),function(){if(--e<1)return i.apply(this,arguments)}}function fu(e,i,n){return i=n?r:i,i=e&&i==null?e.length:i,$t(e,fe,r,r,r,r,i)}function du(e,i){var n;if(typeof i!="function")throw new et(l);return e=K(e),function(){return--e>0&&(n=i.apply(this,arguments)),e<=1&&(i=r),n}}var eo=W(function(e,i,n){var c=A;if(n.length){var h=kt(n,Cr(eo));c|=he}return $t(e,c,i,n,h)}),gu=W(function(e,i,n){var c=A|V;if(n.length){var h=kt(n,Cr(gu));c|=he}return $t(i,c,e,n,h)});function mu(e,i,n){i=n?r:i;var c=$t(e,J,r,r,r,r,r,i);return c.placeholder=mu.placeholder,c}function yu(e,i,n){i=n?r:i;var c=$t(e,X,r,r,r,r,r,i);return c.placeholder=yu.placeholder,c}function vu(e,i,n){var c,h,f,m,y,b,O=0,R=!1,$=!1,x=!0;if(typeof e!="function")throw new et(l);i=nt(i)||0,le(n)&&(R=!!n.leading,$="maxWait"in n,f=$?we(nt(n.maxWait)||0,i):f,x="trailing"in n?!!n.trailing:x);function q(ge){var ft=c,At=h;return c=h=r,O=ge,m=e.apply(At,ft),m}function L(ge){return O=ge,y=hi(B,i),R?q(ge):m}function F(ge){var ft=ge-b,At=ge-O,Uu=i-ft;return $?Oe(Uu,f-At):Uu}function z(ge){var ft=ge-b,At=ge-O;return b===r||ft>=i||ft<0||$&&At>=f}function B(){var ge=gs();if(z(ge))return Q(ge);y=hi(B,F(ge))}function Q(ge){return y=r,x&&c?q(ge):(c=h=r,m)}function Ge(){y!==r&&$c(y),O=0,c=b=h=y=r}function xe(){return y===r?m:Q(gs())}function Qe(){var ge=gs(),ft=z(ge);if(c=arguments,h=this,b=ge,ft){if(y===r)return L(b);if($)return $c(y),y=hi(B,i),q(b)}return y===r&&(y=hi(B,i)),m}return Qe.cancel=Ge,Qe.flush=xe,Qe}var oy=W(function(e,i){return ac(e,1,i)}),ay=W(function(e,i,n){return ac(e,nt(i)||0,n)});function cy(e){return $t(e,Mt)}function ms(e,i){if(typeof e!="function"||i!=null&&typeof i!="function")throw new et(l);var n=function(){var c=arguments,h=i?i.apply(this,c):c[0],f=n.cache;if(f.has(h))return f.get(h);var m=e.apply(this,c);return n.cache=f.set(h,m)||f,m};return n.cache=new(ms.Cache||Ot),n}ms.Cache=Ot;function ys(e){if(typeof e!="function")throw new et(l);return function(){var i=arguments;switch(i.length){case 0:return!e.call(this);case 1:return!e.call(this,i[0]);case 2:return!e.call(this,i[0],i[1]);case 3:return!e.call(this,i[0],i[1],i[2])}return!e.apply(this,i)}}function uy(e){return du(2,e)}var hy=Jd(function(e,i){i=i.length==1&&H(i[0])?ce(i[0],Fe(M())):ce(Pe(i,1),Fe(M()));var n=i.length;return W(function(c){for(var h=-1,f=Oe(c.length,n);++h<f;)c[h]=i[h].call(this,c[h]);return Ve(e,this,c)})}),to=W(function(e,i){var n=kt(i,Cr(to));return $t(e,he,r,i,n)}),wu=W(function(e,i){var n=kt(i,Cr(wu));return $t(e,qe,r,i,n)}),ly=Nt(function(e,i){return $t(e,Ne,r,r,r,i)});function py(e,i){if(typeof e!="function")throw new et(l);return i=i===r?i:K(i),W(e,i)}function fy(e,i){if(typeof e!="function")throw new et(l);return i=i==null?0:we(K(i),0),W(function(n){var c=n[i],h=Wt(n,0,i);return c&&zt(h,c),Ve(e,this,h)})}function dy(e,i,n){var c=!0,h=!0;if(typeof e!="function")throw new et(l);return le(n)&&(c="leading"in n?!!n.leading:c,h="trailing"in n?!!n.trailing:h),vu(e,i,{leading:c,maxWait:i,trailing:h})}function gy(e){return fu(e,1)}function my(e,i){return to(Ln(i),e)}function yy(){if(!arguments.length)return[];var e=arguments[0];return H(e)?e:[e]}function vy(e){return rt(e,C)}function wy(e,i){return i=typeof i=="function"?i:r,rt(e,C,i)}function _y(e){return rt(e,_|C)}function by(e,i){return i=typeof i=="function"?i:r,rt(e,_|C,i)}function Ey(e,i){return i==null||oc(e,i,_e(i))}function pt(e,i){return e===i||e!==e&&i!==i}var Iy=us(Rn),Py=us(function(e,i){return e>=i}),ar=pc(function(){return arguments}())?pc:function(e){return pe(e)&&te.call(e,"callee")&&!Za.call(e,"callee")},H=P.isArray,Sy=Aa?Fe(Aa):Ad;function Ue(e){return e!=null&&vs(e.length)&&!Tt(e)}function de(e){return pe(e)&&Ue(e)}function Oy(e){return e===!0||e===!1||pe(e)&&Ce(e)==Vr}var Bt=zf||po,Ry=Da?Fe(Da):Dd;function $y(e){return pe(e)&&e.nodeType===1&&!li(e)}function Ny(e){if(e==null)return!0;if(Ue(e)&&(H(e)||typeof e=="string"||typeof e.splice=="function"||Bt(e)||Tr(e)||ar(e)))return!e.length;var i=Re(e);if(i==ct||i==ut)return!e.size;if(ui(e))return!Cn(e).length;for(var n in e)if(te.call(e,n))return!1;return!0}function Cy(e,i){return oi(e,i)}function Ty(e,i,n){n=typeof n=="function"?n:r;var c=n?n(e,i):r;return c===r?oi(e,i,r,n):!!c}function ro(e){if(!pe(e))return!1;var i=Ce(e);return i==Ci||i==Xl||typeof e.message=="string"&&typeof e.name=="string"&&!li(e)}function xy(e){return typeof e=="number"&&ec(e)}function Tt(e){if(!le(e))return!1;var i=Ce(e);return i==Ti||i==aa||i==Zl||i==tp}function _u(e){return typeof e=="number"&&e==K(e)}function vs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=mr}function le(e){var i=typeof e;return e!=null&&(i=="object"||i=="function")}function pe(e){return e!=null&&typeof e=="object"}var bu=qa?Fe(qa):jd;function Ay(e,i){return e===i||Nn(e,i,Wn(i))}function Dy(e,i,n){return n=typeof n=="function"?n:r,Nn(e,i,Wn(i),n)}function qy(e){return Eu(e)&&e!=+e}function jy(e){if(wg(e))throw new k(u);return fc(e)}function Uy(e){return e===null}function My(e){return e==null}function Eu(e){return typeof e=="number"||pe(e)&&Ce(e)==Wr}function li(e){if(!pe(e)||Ce(e)!=Pt)return!1;var i=Fi(e);if(i===null)return!0;var n=te.call(i,"constructor")&&i.constructor;return typeof n=="function"&&n instanceof n&&ki.call(n)==Df}var io=ja?Fe(ja):Ud;function Ly(e){return _u(e)&&e>=-9007199254740991&&e<=mr}var Iu=Ua?Fe(Ua):Md;function ws(e){return typeof e=="string"||!H(e)&&pe(e)&&Ce(e)==Gr}function Be(e){return typeof e=="symbol"||pe(e)&&Ce(e)==xi}var Tr=Ma?Fe(Ma):Ld;function zy(e){return e===r}function ky(e){return pe(e)&&Re(e)==Qr}function Hy(e){return pe(e)&&Ce(e)==ip}var Ky=us(Tn),Vy=us(function(e,i){return e<=i});function Pu(e){if(!e)return[];if(Ue(e))return ws(e)?ht(e):je(e);if(Zr&&e[Zr])return Ef(e[Zr]());var i=Re(e),n=i==ct?vn:i==ut?Mi:xr;return n(e)}function xt(e){if(!e)return e===0?e:0;if(e=nt(e),e===Ri||e===-1/0){var i=e<0?-1:1;return i*Gl}return e===e?e:0}function K(e){var i=xt(e),n=i%1;return i===i?n?i-n:i:0}function Su(e){return e?ir(K(e),0,vt):0}function nt(e){if(typeof e=="number")return e;if(Be(e))return $i;if(le(e)){var i=typeof e.valueOf=="function"?e.valueOf():e;e=le(i)?i+"":i}if(typeof e!="string")return e===0?e:+e;e=Va(e);var n=Pp.test(e);return n||Op.test(e)?nf(e.slice(2),n?2:8):Ip.test(e)?$i:+e}function Ou(e){return _t(e,Me(e))}function Fy(e){return e?ir(K(e),-9007199254740991,mr):e===0?e:0}function ee(e){return e==null?"":We(e)}var Wy=$r(function(e,i){if(ui(i)||Ue(i)){_t(i,_e(i),e);return}for(var n in i)te.call(i,n)&&ii(e,n,i[n])}),Ru=$r(function(e,i){_t(i,Me(i),e)}),_s=$r(function(e,i,n,c){_t(i,Me(i),e,c)}),By=$r(function(e,i,n,c){_t(i,_e(i),e,c)}),Gy=Nt(Pn);function Qy(e,i){var n=Rr(e);return i==null?n:nc(n,i)}var Jy=W(function(e,i){e=re(e);var n=-1,c=i.length,h=c>2?i[2]:r;for(h&&Te(i[0],i[1],h)&&(c=1);++n<c;)for(var f=i[n],m=Me(f),y=-1,b=m.length;++y<b;){var O=m[y],R=e[O];(R===r||pt(R,Pr[O])&&!te.call(e,O))&&(e[O]=f[O])}return e}),Yy=W(function(e){return e.push(r,Vc),Ve($u,r,e)});function Zy(e,i){return za(e,M(i,3),wt)}function Xy(e,i){return za(e,M(i,3),On)}function ev(e,i){return e==null?e:Sn(e,M(i,3),Me)}function tv(e,i){return e==null?e:hc(e,M(i,3),Me)}function rv(e,i){return e&&wt(e,M(i,3))}function iv(e,i){return e&&On(e,M(i,3))}function sv(e){return e==null?[]:ts(e,_e(e))}function nv(e){return e==null?[]:ts(e,Me(e))}function so(e,i,n){var c=e==null?r:sr(e,i);return c===r?n:c}function ov(e,i){return e!=null&&Bc(e,i,Nd)}function no(e,i){return e!=null&&Bc(e,i,Cd)}var av=Lc(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=Hi.call(i)),e[i]=n},ao(Le)),cv=Lc(function(e,i,n){i!=null&&typeof i.toString!="function"&&(i=Hi.call(i)),te.call(e,i)?e[i].push(n):e[i]=[n]},M),uv=W(ni);function _e(e){return Ue(e)?ic(e):Cn(e)}function Me(e){return Ue(e)?ic(e,!0):zd(e)}function hv(e,i){var n={};return i=M(i,3),wt(e,function(c,h,f){Rt(n,i(c,h,f),c)}),n}function lv(e,i){var n={};return i=M(i,3),wt(e,function(c,h,f){Rt(n,h,i(c,h,f))}),n}var pv=$r(function(e,i,n){rs(e,i,n)}),$u=$r(function(e,i,n,c){rs(e,i,n,c)}),fv=Nt(function(e,i){var n={};if(e==null)return n;var c=!1;i=ce(i,function(f){return f=Ft(f,e),c||(c=f.length>1),f}),_t(e,Vn(e),n),c&&(n=rt(n,_|I|C,ag));for(var h=i.length;h--;)jn(n,i[h]);return n});function dv(e,i){return Nu(e,ys(M(i)))}var gv=Nt(function(e,i){return e==null?{}:Hd(e,i)});function Nu(e,i){if(e==null)return{};var n=ce(Vn(e),function(c){return[c]});return i=M(i),_c(e,n,function(c,h){return i(c,h[0])})}function mv(e,i,n){i=Ft(i,e);var c=-1,h=i.length;for(h||(h=1,e=r);++c<h;){var f=e==null?r:e[bt(i[c])];f===r&&(c=h,f=n),e=Tt(f)?f.call(e):f}return e}function yv(e,i,n){return e==null?e:ai(e,i,n)}function vv(e,i,n,c){return c=typeof c=="function"?c:r,e==null?e:ai(e,i,n,c)}var Cu=Hc(_e),Tu=Hc(Me);function wv(e,i,n){var c=H(e),h=c||Bt(e)||Tr(e);if(i=M(i,4),n==null){var f=e&&e.constructor;h?n=c?new f:[]:le(e)?n=Tt(f)?Rr(Fi(e)):{}:n={}}return(h?Xe:wt)(e,function(m,y,b){return i(n,m,y,b)}),n}function _v(e,i){return e==null?!0:jn(e,i)}function bv(e,i,n){return e==null?e:Sc(e,i,Ln(n))}function Ev(e,i,n,c){return c=typeof c=="function"?c:r,e==null?e:Sc(e,i,Ln(n),c)}function xr(e){return e==null?[]:yn(e,_e(e))}function Iv(e){return e==null?[]:yn(e,Me(e))}function Pv(e,i,n){return n===r&&(n=i,i=r),n!==r&&(n=nt(n),n=n===n?n:0),i!==r&&(i=nt(i),i=i===i?i:0),ir(nt(e),i,n)}function Sv(e,i,n){return i=xt(i),n===r?(n=i,i=0):n=xt(n),e=nt(e),Td(e,i,n)}function Ov(e,i,n){if(n&&typeof n!="boolean"&&Te(e,i,n)&&(i=n=r),n===r&&(typeof i=="boolean"?(n=i,i=r):typeof e=="boolean"&&(n=e,e=r)),e===r&&i===r?(e=0,i=1):(e=xt(e),i===r?(i=e,e=0):i=xt(i)),e>i){var c=e;e=i,i=c}if(n||e%1||i%1){var h=tc();return Oe(e+h*(i-e+sf("1e-"+((h+"").length-1))),i)}return An(e,i)}var Rv=Nr(function(e,i,n){return i=i.toLowerCase(),e+(n?xu(i):i)});function xu(e){return oo(ee(e).toLowerCase())}function Au(e){return e=ee(e),e&&e.replace($p,yf).replace(Bp,"")}function $v(e,i,n){e=ee(e),i=We(i);var c=e.length;n=n===r?c:ir(K(n),0,c);var h=n;return n-=i.length,n>=0&&e.slice(n,h)==i}function Nv(e){return e=ee(e),e&&cp.test(e)?e.replace(ha,vf):e}function Cv(e){return e=ee(e),e&&dp.test(e)?e.replace(en,"\\$&"):e}var Tv=Nr(function(e,i,n){return e+(n?"-":"")+i.toLowerCase()}),xv=Nr(function(e,i,n){return e+(n?" ":"")+i.toLowerCase()}),Av=jc("toLowerCase");function Dv(e,i,n){e=ee(e),i=K(i);var c=i?Er(e):0;if(!i||c>=i)return e;var h=(i-c)/2;return cs(Qi(h),n)+e+cs(Gi(h),n)}function qv(e,i,n){e=ee(e),i=K(i);var c=i?Er(e):0;return i&&c<i?e+cs(i-c,n):e}function jv(e,i,n){e=ee(e),i=K(i);var c=i?Er(e):0;return i&&c<i?cs(i-c,n)+e:e}function Uv(e,i,n){return n||i==null?i=0:i&&(i=+i),Vf(ee(e).replace(tn,""),i||0)}function Mv(e,i,n){return(n?Te(e,i,n):i===r)?i=1:i=K(i),Dn(ee(e),i)}function Lv(){var e=arguments,i=ee(e[0]);return e.length<3?i:i.replace(e[1],e[2])}var zv=Nr(function(e,i,n){return e+(n?"_":"")+i.toLowerCase()});function kv(e,i,n){return n&&typeof n!="number"&&Te(e,i,n)&&(i=n=r),n=n===r?vt:n>>>0,n?(e=ee(e),e&&(typeof i=="string"||i!=null&&!io(i))&&(i=We(i),!i&&br(e))?Wt(ht(e),0,n):e.split(i,n)):[]}var Hv=Nr(function(e,i,n){return e+(n?" ":"")+oo(i)});function Kv(e,i,n){return e=ee(e),n=n==null?0:ir(K(n),0,e.length),i=We(i),e.slice(n,n+i.length)==i}function Vv(e,i,n){var c=p.templateSettings;n&&Te(e,i,n)&&(i=r),e=ee(e),i=_s({},i,c,Kc);var h=_s({},i.imports,c.imports,Kc),f=_e(h),m=yn(h,f),y,b,O=0,R=i.interpolate||Ai,$="__p += '",x=wn((i.escape||Ai).source+"|"+R.source+"|"+(R===la?Ep:Ai).source+"|"+(i.evaluate||Ai).source+"|$","g"),q="//# sourceURL="+(te.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Zp+"]")+`
|
|
31
|
-
`;e.replace(x,function(z,B,Q,Ge,xe,Qe){return Q||(Q=Ge),$+=e.slice(O,Qe).replace(Np,wf),B&&(y=!0,$+=`' +
|
|
32
|
-
__e(`+B+`) +
|
|
33
|
-
'`),xe&&(b=!0,$+=`';
|
|
34
|
-
`+xe+`;
|
|
35
|
-
__p += '`),Q&&($+=`' +
|
|
36
|
-
((__t = (`+Q+`)) == null ? '' : __t) +
|
|
37
|
-
'`),O=Qe+z.length,z}),$+=`';
|
|
38
|
-
`;var L=te.call(i,"variable")&&i.variable;if(!L)$=`with (obj) {
|
|
39
|
-
`+$+`
|
|
40
|
-
}
|
|
41
|
-
`;else if(_p.test(L))throw new k(g);$=(b?$.replace(sp,""):$).replace(np,"$1").replace(op,"$1;"),$="function("+(L||"obj")+`) {
|
|
42
|
-
`+(L?"":`obj || (obj = {});
|
|
43
|
-
`)+"var __t, __p = ''"+(y?", __e = _.escape":"")+(b?`, __j = Array.prototype.join;
|
|
44
|
-
function print() { __p += __j.call(arguments, '') }
|
|
45
|
-
`:`;
|
|
46
|
-
`)+$+`return __p
|
|
47
|
-
}`;var F=qu(function(){return Z(f,q+"return "+$).apply(r,m)});if(F.source=$,ro(F))throw F;return F}function Fv(e){return ee(e).toLowerCase()}function Wv(e){return ee(e).toUpperCase()}function Bv(e,i,n){if(e=ee(e),e&&(n||i===r))return Va(e);if(!e||!(i=We(i)))return e;var c=ht(e),h=ht(i),f=Fa(c,h),m=Wa(c,h)+1;return Wt(c,f,m).join("")}function Gv(e,i,n){if(e=ee(e),e&&(n||i===r))return e.slice(0,Ga(e)+1);if(!e||!(i=We(i)))return e;var c=ht(e),h=Wa(c,ht(i))+1;return Wt(c,0,h).join("")}function Qv(e,i,n){if(e=ee(e),e&&(n||i===r))return e.replace(tn,"");if(!e||!(i=We(i)))return e;var c=ht(e),h=Fa(c,ht(i));return Wt(c,h).join("")}function Jv(e,i){var n=Hl,c=Kl;if(le(i)){var h="separator"in i?i.separator:h;n="length"in i?K(i.length):n,c="omission"in i?We(i.omission):c}e=ee(e);var f=e.length;if(br(e)){var m=ht(e);f=m.length}if(n>=f)return e;var y=n-Er(c);if(y<1)return c;var b=m?Wt(m,0,y).join(""):e.slice(0,y);if(h===r)return b+c;if(m&&(y+=b.length-y),io(h)){if(e.slice(y).search(h)){var O,R=b;for(h.global||(h=wn(h.source,ee(pa.exec(h))+"g")),h.lastIndex=0;O=h.exec(R);)var $=O.index;b=b.slice(0,$===r?y:$)}}else if(e.indexOf(We(h),y)!=y){var x=b.lastIndexOf(h);x>-1&&(b=b.slice(0,x))}return b+c}function Yv(e){return e=ee(e),e&&ap.test(e)?e.replace(ua,Of):e}var Zv=Nr(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()}),oo=jc("toUpperCase");function Du(e,i,n){return e=ee(e),i=n?r:i,i===r?bf(e)?Nf(e):pf(e):e.match(i)||[]}var qu=W(function(e,i){try{return Ve(e,r,i)}catch(n){return ro(n)?n:new k(n)}}),Xv=Nt(function(e,i){return Xe(i,function(n){n=bt(n),Rt(e,n,eo(e[n],e))}),e});function ew(e){var i=e==null?0:e.length,n=M();return e=i?ce(e,function(c){if(typeof c[1]!="function")throw new et(l);return[n(c[0]),c[1]]}):[],W(function(c){for(var h=-1;++h<i;){var f=e[h];if(Ve(f[0],this,c))return Ve(f[1],this,c)}})}function tw(e){return Od(rt(e,_))}function ao(e){return function(){return e}}function rw(e,i){return e==null||e!==e?i:e}var iw=Mc(),sw=Mc(!0);function Le(e){return e}function co(e){return dc(typeof e=="function"?e:rt(e,_))}function nw(e){return mc(rt(e,_))}function ow(e,i){return yc(e,rt(i,_))}var aw=W(function(e,i){return function(n){return ni(n,e,i)}}),cw=W(function(e,i){return function(n){return ni(e,n,i)}});function uo(e,i,n){var c=_e(i),h=ts(i,c);n==null&&!(le(i)&&(h.length||!c.length))&&(n=i,i=e,e=this,h=ts(i,_e(i)));var f=!(le(n)&&"chain"in n)||!!n.chain,m=Tt(e);return Xe(h,function(y){var b=i[y];e[y]=b,m&&(e.prototype[y]=function(){var O=this.__chain__;if(f||O){var R=e(this.__wrapped__),$=R.__actions__=je(this.__actions__);return $.push({func:b,args:arguments,thisArg:e}),R.__chain__=O,R}return b.apply(e,zt([this.value()],arguments))})}),e}function uw(){return Ie._===this&&(Ie._=qf),this}function ho(){}function hw(e){return e=K(e),W(function(i){return vc(i,e)})}var lw=kn(ce),pw=kn(La),fw=kn(pn);function ju(e){return Gn(e)?fn(bt(e)):Kd(e)}function dw(e){return function(i){return e==null?r:sr(e,i)}}var gw=zc(),mw=zc(!0);function lo(){return[]}function po(){return!1}function yw(){return{}}function vw(){return""}function ww(){return!0}function _w(e,i){if(e=K(e),e<1||e>mr)return[];var n=vt,c=Oe(e,vt);i=M(i),e-=vt;for(var h=mn(c,i);++n<e;)i(n);return h}function bw(e){return H(e)?ce(e,bt):Be(e)?[e]:je(ru(ee(e)))}function Ew(e){var i=++Af;return ee(e)+i}var Iw=as(function(e,i){return e+i},0),Pw=Hn("ceil"),Sw=as(function(e,i){return e/i},1),Ow=Hn("floor");function Rw(e){return e&&e.length?es(e,Le,Rn):r}function $w(e,i){return e&&e.length?es(e,M(i,2),Rn):r}function Nw(e){return Ha(e,Le)}function Cw(e,i){return Ha(e,M(i,2))}function Tw(e){return e&&e.length?es(e,Le,Tn):r}function xw(e,i){return e&&e.length?es(e,M(i,2),Tn):r}var Aw=as(function(e,i){return e*i},1),Dw=Hn("round"),qw=as(function(e,i){return e-i},0);function jw(e){return e&&e.length?gn(e,Le):0}function Uw(e,i){return e&&e.length?gn(e,M(i,2)):0}return p.after=ny,p.ary=fu,p.assign=Wy,p.assignIn=Ru,p.assignInWith=_s,p.assignWith=By,p.at=Gy,p.before=du,p.bind=eo,p.bindAll=Xv,p.bindKey=gu,p.castArray=yy,p.chain=hu,p.chunk=Og,p.compact=Rg,p.concat=$g,p.cond=ew,p.conforms=tw,p.constant=ao,p.countBy=jm,p.create=Qy,p.curry=mu,p.curryRight=yu,p.debounce=vu,p.defaults=Jy,p.defaultsDeep=Yy,p.defer=oy,p.delay=ay,p.difference=Ng,p.differenceBy=Cg,p.differenceWith=Tg,p.drop=xg,p.dropRight=Ag,p.dropRightWhile=Dg,p.dropWhile=qg,p.fill=jg,p.filter=Mm,p.flatMap=km,p.flatMapDeep=Hm,p.flatMapDepth=Km,p.flatten=ou,p.flattenDeep=Ug,p.flattenDepth=Mg,p.flip=cy,p.flow=iw,p.flowRight=sw,p.fromPairs=Lg,p.functions=sv,p.functionsIn=nv,p.groupBy=Vm,p.initial=kg,p.intersection=Hg,p.intersectionBy=Kg,p.intersectionWith=Vg,p.invert=av,p.invertBy=cv,p.invokeMap=Wm,p.iteratee=co,p.keyBy=Bm,p.keys=_e,p.keysIn=Me,p.map=ds,p.mapKeys=hv,p.mapValues=lv,p.matches=nw,p.matchesProperty=ow,p.memoize=ms,p.merge=pv,p.mergeWith=$u,p.method=aw,p.methodOf=cw,p.mixin=uo,p.negate=ys,p.nthArg=hw,p.omit=fv,p.omitBy=dv,p.once=uy,p.orderBy=Gm,p.over=lw,p.overArgs=hy,p.overEvery=pw,p.overSome=fw,p.partial=to,p.partialRight=wu,p.partition=Qm,p.pick=gv,p.pickBy=Nu,p.property=ju,p.propertyOf=dw,p.pull=Gg,p.pullAll=cu,p.pullAllBy=Qg,p.pullAllWith=Jg,p.pullAt=Yg,p.range=gw,p.rangeRight=mw,p.rearg=ly,p.reject=Zm,p.remove=Zg,p.rest=py,p.reverse=Zn,p.sampleSize=ey,p.set=yv,p.setWith=vv,p.shuffle=ty,p.slice=Xg,p.sortBy=sy,p.sortedUniq=om,p.sortedUniqBy=am,p.split=kv,p.spread=fy,p.tail=cm,p.take=um,p.takeRight=hm,p.takeRightWhile=lm,p.takeWhile=pm,p.tap=Rm,p.throttle=dy,p.thru=fs,p.toArray=Pu,p.toPairs=Cu,p.toPairsIn=Tu,p.toPath=bw,p.toPlainObject=Ou,p.transform=wv,p.unary=gy,p.union=fm,p.unionBy=dm,p.unionWith=gm,p.uniq=mm,p.uniqBy=ym,p.uniqWith=vm,p.unset=_v,p.unzip=Xn,p.unzipWith=uu,p.update=bv,p.updateWith=Ev,p.values=xr,p.valuesIn=Iv,p.without=wm,p.words=Du,p.wrap=my,p.xor=_m,p.xorBy=bm,p.xorWith=Em,p.zip=Im,p.zipObject=Pm,p.zipObjectDeep=Sm,p.zipWith=Om,p.entries=Cu,p.entriesIn=Tu,p.extend=Ru,p.extendWith=_s,uo(p,p),p.add=Iw,p.attempt=qu,p.camelCase=Rv,p.capitalize=xu,p.ceil=Pw,p.clamp=Pv,p.clone=vy,p.cloneDeep=_y,p.cloneDeepWith=by,p.cloneWith=wy,p.conformsTo=Ey,p.deburr=Au,p.defaultTo=rw,p.divide=Sw,p.endsWith=$v,p.eq=pt,p.escape=Nv,p.escapeRegExp=Cv,p.every=Um,p.find=Lm,p.findIndex=su,p.findKey=Zy,p.findLast=zm,p.findLastIndex=nu,p.findLastKey=Xy,p.floor=Ow,p.forEach=lu,p.forEachRight=pu,p.forIn=ev,p.forInRight=tv,p.forOwn=rv,p.forOwnRight=iv,p.get=so,p.gt=Iy,p.gte=Py,p.has=ov,p.hasIn=no,p.head=au,p.identity=Le,p.includes=Fm,p.indexOf=zg,p.inRange=Sv,p.invoke=uv,p.isArguments=ar,p.isArray=H,p.isArrayBuffer=Sy,p.isArrayLike=Ue,p.isArrayLikeObject=de,p.isBoolean=Oy,p.isBuffer=Bt,p.isDate=Ry,p.isElement=$y,p.isEmpty=Ny,p.isEqual=Cy,p.isEqualWith=Ty,p.isError=ro,p.isFinite=xy,p.isFunction=Tt,p.isInteger=_u,p.isLength=vs,p.isMap=bu,p.isMatch=Ay,p.isMatchWith=Dy,p.isNaN=qy,p.isNative=jy,p.isNil=My,p.isNull=Uy,p.isNumber=Eu,p.isObject=le,p.isObjectLike=pe,p.isPlainObject=li,p.isRegExp=io,p.isSafeInteger=Ly,p.isSet=Iu,p.isString=ws,p.isSymbol=Be,p.isTypedArray=Tr,p.isUndefined=zy,p.isWeakMap=ky,p.isWeakSet=Hy,p.join=Fg,p.kebabCase=Tv,p.last=st,p.lastIndexOf=Wg,p.lowerCase=xv,p.lowerFirst=Av,p.lt=Ky,p.lte=Vy,p.max=Rw,p.maxBy=$w,p.mean=Nw,p.meanBy=Cw,p.min=Tw,p.minBy=xw,p.stubArray=lo,p.stubFalse=po,p.stubObject=yw,p.stubString=vw,p.stubTrue=ww,p.multiply=Aw,p.nth=Bg,p.noConflict=uw,p.noop=ho,p.now=gs,p.pad=Dv,p.padEnd=qv,p.padStart=jv,p.parseInt=Uv,p.random=Ov,p.reduce=Jm,p.reduceRight=Ym,p.repeat=Mv,p.replace=Lv,p.result=mv,p.round=Dw,p.runInContext=w,p.sample=Xm,p.size=ry,p.snakeCase=zv,p.some=iy,p.sortedIndex=em,p.sortedIndexBy=tm,p.sortedIndexOf=rm,p.sortedLastIndex=im,p.sortedLastIndexBy=sm,p.sortedLastIndexOf=nm,p.startCase=Hv,p.startsWith=Kv,p.subtract=qw,p.sum=jw,p.sumBy=Uw,p.template=Vv,p.times=_w,p.toFinite=xt,p.toInteger=K,p.toLength=Su,p.toLower=Fv,p.toNumber=nt,p.toSafeInteger=Fy,p.toString=ee,p.toUpper=Wv,p.trim=Bv,p.trimEnd=Gv,p.trimStart=Qv,p.truncate=Jv,p.unescape=Yv,p.uniqueId=Ew,p.upperCase=Zv,p.upperFirst=oo,p.each=lu,p.eachRight=pu,p.first=au,uo(p,function(){var e={};return wt(p,function(i,n){te.call(p.prototype,n)||(e[n]=i)}),e}(),{chain:!1}),p.VERSION=s,Xe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),Xe(["drop","take"],function(e,i){G.prototype[e]=function(n){n=n===r?1:we(K(n),0);var c=this.__filtered__&&!i?new G(this):this.clone();return c.__filtered__?c.__takeCount__=Oe(n,c.__takeCount__):c.__views__.push({size:Oe(n,vt),type:e+(c.__dir__<0?"Right":"")}),c},G.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Xe(["filter","map","takeWhile"],function(e,i){var n=i+1,c=n==oa||n==Bl;G.prototype[e]=function(h){var f=this.clone();return f.__iteratees__.push({iteratee:M(h,3),type:n}),f.__filtered__=f.__filtered__||c,f}}),Xe(["head","last"],function(e,i){var n="take"+(i?"Right":"");G.prototype[e]=function(){return this[n](1).value()[0]}}),Xe(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Le)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=W(function(e,i){return typeof e=="function"?new G(this):this.map(function(n){return ni(n,e,i)})}),G.prototype.reject=function(e){return this.filter(ys(M(e)))},G.prototype.slice=function(e,i){e=K(e);var n=this;return n.__filtered__&&(e>0||i<0)?new G(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==r&&(i=K(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(vt)},wt(G.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=p[c?"take"+(i=="last"?"Right":""):i],f=c||/^find/.test(i);h&&(p.prototype[i]=function(){var m=this.__wrapped__,y=c?[1]:arguments,b=m instanceof G,O=y[0],R=b||H(m),$=function(B){var Q=h.apply(p,zt([B],y));return c&&x?Q[0]:Q};R&&n&&typeof O=="function"&&O.length!=1&&(b=R=!1);var x=this.__chain__,q=!!this.__actions__.length,L=f&&!x,F=b&&!q;if(!f&&R){m=F?m:new G(this);var z=e.apply(m,y);return z.__actions__.push({func:fs,args:[$],thisArg:r}),new tt(z,x)}return L&&F?e.apply(this,y):(z=this.thru($),L?c?z.value()[0]:z.value():z)})}),Xe(["pop","push","shift","sort","splice","unshift"],function(e){var i=Li[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",c=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var h=arguments;if(c&&!this.__chain__){var f=this.value();return i.apply(H(f)?f:[],h)}return this[n](function(m){return i.apply(H(m)?m:[],h)})}}),wt(G.prototype,function(e,i){var n=p[i];if(n){var c=n.name+"";te.call(Or,c)||(Or[c]=[]),Or[c].push({name:i,func:n})}}),Or[os(r,V).name]=[{name:"wrapper",func:r}],G.prototype.clone=Yf,G.prototype.reverse=Zf,G.prototype.value=Xf,p.prototype.at=$m,p.prototype.chain=Nm,p.prototype.commit=Cm,p.prototype.next=Tm,p.prototype.plant=Am,p.prototype.reverse=Dm,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=qm,p.prototype.first=p.prototype.head,Zr&&(p.prototype[Zr]=xm),p},Ir=Cf();Xt?((Xt.exports=Ir)._=Ir,cn._=Ir):Ie._=Ir}).call(vi)})(zo,zo.exports);var uP=Object.defineProperty,hP=Object.defineProperties,lP=Object.getOwnPropertyDescriptors,Wh=Object.getOwnPropertySymbols,pP=Object.prototype.hasOwnProperty,fP=Object.prototype.propertyIsEnumerable,Bh=(o,t,r)=>t in o?uP(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,Ss=(o,t)=>{for(var r in t||(t={}))pP.call(t,r)&&Bh(o,r,t[r]);if(Wh)for(var r of Wh(t))fP.call(t,r)&&Bh(o,r,t[r]);return o},dP=(o,t)=>hP(o,lP(t));function Yt(o,t,r){var s;const a=qb(o);return((s=t.rpcMap)==null?void 0:s[a.reference])||`${cP}?chainId=${a.namespace}:${a.reference}&projectId=${r}`}function gr(o){return o.includes(":")?o.split(":")[1]:o}function zl(o){return o.map(t=>`${t.split(":")[0]}:${t.split(":")[1]}`)}function gP(o,t){const r=Object.keys(t.namespaces).filter(a=>a.includes(o));if(!r.length)return[];const s=[];return r.forEach(a=>{const u=t.namespaces[a].accounts;s.push(...u)}),s}function mP(o={},t={}){const r=Gh(o),s=Gh(t);return zo.exports.merge(r,s)}function Gh(o){var t,r,s,a;const u={};if(!Ur(o))return u;for(const[l,g]of Object.entries(o)){const v=ea(l)?[l]:g.chains,d=g.methods||[],E=g.events||[],_=g.rpcMap||{},I=wi(l);u[I]=dP(Ss(Ss({},u[I]),g),{chains:yo(v,(t=u[I])==null?void 0:t.chains),methods:yo(d,(r=u[I])==null?void 0:r.methods),events:yo(E,(s=u[I])==null?void 0:s.events),rpcMap:Ss(Ss({},_),(a=u[I])==null?void 0:a.rpcMap)})}return u}function yP(o){return o.includes(":")?o.split(":")[2]:o}function vP(o){const t={};for(const[r,s]of Object.entries(o)){const a=s.methods||[],u=s.events||[],l=s.accounts||[],g=ea(r)?[r]:s.chains?s.chains:zl(s.accounts);t[r]={chains:g,methods:a,events:u,accounts:l}}return t}function Po(o){return typeof o=="number"?o:o.includes("0x")?parseInt(o,16):o.includes(":")?Number(o.split(":")[1]):Number(o)}const kl={},ue=o=>kl[o],So=(o,t)=>{kl[o]=t};class wP{constructor(t){this.name="polkadot",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=gr(r);t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class _P{constructor(t){this.name="eip155",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(t);case"eth_chainId":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(parseInt(t),r),this.chainId=parseInt(t),this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}createHttpProvider(t,r){const s=r||Yt(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=parseInt(gr(r));t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}getHttpProvider(){const t=this.chainId,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}async handleSwitchChain(t){var r,s;let a=t.request.params?(r=t.request.params[0])==null?void 0:r.chainId:"0x0";a=a.startsWith("0x")?a:`0x${a}`;const u=parseInt(a,16);if(this.isChainApproved(u))this.setDefaultChain(`${u}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:a}]},chainId:(s=this.namespace.chains)==null?void 0:s[0]}),this.setDefaultChain(`${u}`);else throw new Error(`Failed to switch to chain 'eip155:${u}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}}class bP{constructor(t){this.name="solana",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=gr(r);t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class EP{constructor(t){this.name="cosmos",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=gr(r);t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class IP{constructor(t){this.name="cip34",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{const s=this.getCardanoRPCUrl(r),a=gr(r);t[a]=this.createHttpProvider(a,s)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}getCardanoRPCUrl(t){const r=this.namespace.rpcMap;if(r)return r[t]}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||this.getCardanoRPCUrl(t);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class PP{constructor(t){this.name="elrond",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=gr(r);t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class SP{constructor(t){this.name="multiversx",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const a=gr(r);t[a]=this.createHttpProvider(a,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new jt(new Zt(s,ue("disableProviderPing")))}}class OP{constructor(t){this.name="near",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){if(this.chainId=t,!this.httpProviders[t]){const s=r||Yt(`${this.name}:${t}`,this.namespace);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,s)}this.events.emit(Ut.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;t[r]=this.createHttpProvider(r,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Yt(t,this.namespace);return typeof s>"u"?void 0:new jt(new Zt(s,ue("disableProviderPing")))}}var RP=Object.defineProperty,$P=Object.defineProperties,NP=Object.getOwnPropertyDescriptors,Qh=Object.getOwnPropertySymbols,CP=Object.prototype.hasOwnProperty,TP=Object.prototype.propertyIsEnumerable,Jh=(o,t,r)=>t in o?RP(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,Os=(o,t)=>{for(var r in t||(t={}))CP.call(t,r)&&Jh(o,r,t[r]);if(Qh)for(var r of Qh(t))TP.call(t,r)&&Jh(o,r,t[r]);return o},Oo=(o,t)=>$P(o,NP(t));class sa{constructor(t){this.events=new Vo,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=t,this.logger=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:Us(Ms({level:(t==null?void 0:t.logger)||Vh})),this.disableProviderPing=(t==null?void 0:t.disableProviderPing)||!1}static async init(t){const r=new sa(t);return await r.initialize(),r}async request(t,r){const[s,a]=this.validateChain(r);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:Os({},t),chainId:`${s}:${a}`,topic:this.session.topic})}sendAsync(t,r,s){const a=new Date().getTime();this.request(t,s).then(u=>r(null,Ls(a,u))).catch(u=>r(u,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:me("USER_DISCONNECTED")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}removeListener(t,r){this.events.removeListener(t,r)}off(t,r){this.events.off(t,r)}get isWalletConnect(){return!0}async pair(t){this.shouldAbortPairingAttempt=!1;let r=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(r>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:s,approval:a}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});s&&(this.uri=s,this.events.emit("display_uri",s)),await a().then(u=>{this.session=u,this.namespaces||(this.namespaces=vP(u.namespaces),this.persist("namespaces",this.namespaces))}).catch(u=>{if(u.message!==Ml)throw u;r++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(t,r){try{if(!this.session)return;const[s,a]=this.validateChain(t);this.getProvider(s).setDefaultChain(a,r)}catch(s){if(!/Please call connect/.test(s.message))throw s}}async cleanupPendingPairings(t={}){this.logger.info("Cleaning up inactive pairings...");const r=this.client.pairing.getAll();if(hr(r)){for(const s of r)t.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${r.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const t=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[t]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await G1.init({logger:this.providerOpts.logger||Vh,relayUrl:this.providerOpts.relayUrl||nP,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const t=[...new Set(Object.keys(this.session.namespaces).map(r=>wi(r)))];So("client",this.client),So("events",this.events),So("disableProviderPing",this.disableProviderPing),t.forEach(r=>{if(!this.session)return;const s=gP(r,this.session),a=zl(s),u=mP(this.namespaces,this.optionalNamespaces),l=Oo(Os({},u[r]),{accounts:s,chains:a});switch(r){case"eip155":this.rpcProviders[r]=new _P({namespace:l});break;case"solana":this.rpcProviders[r]=new bP({namespace:l});break;case"cosmos":this.rpcProviders[r]=new EP({namespace:l});break;case"polkadot":this.rpcProviders[r]=new wP({namespace:l});break;case"cip34":this.rpcProviders[r]=new IP({namespace:l});break;case"elrond":this.rpcProviders[r]=new PP({namespace:l});break;case"multiversx":this.rpcProviders[r]=new SP({namespace:l});break;case"near":this.rpcProviders[r]=new OP({namespace:l});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",t=>{this.events.emit("session_ping",t)}),this.client.on("session_event",t=>{const{params:r}=t,{event:s}=r;if(s.name==="accountsChanged"){const a=s.data;a&&hr(a)&&this.events.emit("accountsChanged",a.map(yP))}else if(s.name==="chainChanged"){const a=r.chainId,u=r.event.data,l=wi(a),g=Po(a)!==Po(u)?`${l}:${Po(u)}`:a;this.onChainChanged(g)}else this.events.emit(s.name,s.data);this.events.emit("session_event",t)}),this.client.on("session_update",({topic:t,params:r})=>{var s;const{namespaces:a}=r,u=(s=this.client)==null?void 0:s.session.get(t);this.session=Oo(Os({},u),{namespaces:a}),this.onSessionUpdate(),this.events.emit("session_update",{topic:t,params:r})}),this.client.on("session_delete",async t=>{await this.cleanup(),this.events.emit("session_delete",t),this.events.emit("disconnect",Oo(Os({},me("USER_DISCONNECTED")),{data:t.topic}))}),this.on(Ut.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){if(!this.rpcProviders[t])throw new Error(`Provider not found: ${t}`);return this.rpcProviders[t]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var r;this.getProvider(t).updateNamespace((r=this.session)==null?void 0:r.namespaces[t])})}setNamespaces(t){const{namespaces:r,optionalNamespaces:s,sessionProperties:a}=t;r&&Object.keys(r).length&&(this.namespaces=r),s&&Object.keys(s).length&&(this.optionalNamespaces=s),this.sessionProperties=a,this.persist("namespaces",r),this.persist("optionalNamespaces",s)}validateChain(t){const[r,s]=(t==null?void 0:t.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[r,s];if(r&&!Object.keys(this.namespaces||{}).map(l=>wi(l)).includes(r))throw new Error(`Namespace '${r}' is not configured. Please call connect() first with namespace config.`);if(r&&s)return[r,s];const a=wi(Object.keys(this.namespaces)[0]),u=this.rpcProviders[a].getDefaultChain();return[a,u]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}onChainChanged(t,r=!1){var s;if(!this.namespaces)return;const[a,u]=this.validateChain(t);r||this.getProvider(a).setDefaultChain(u),((s=this.namespaces[a])!=null?s:this.namespaces[`${a}:${u}`]).defaultChain=u,this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",u)}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(t,r){this.client.core.storage.setItem(`${Fh}/${t}`,r)}async getFromStore(t){return await this.client.core.storage.getItem(`${Fh}/${t}`)}}const xP=sa,AP="wc",DP="ethereum_provider",qP=`${AP}@2:${DP}:`,jP="https://rpc.walletconnect.com/v1/",ko=["eth_sendTransaction","personal_sign"],UP=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode"],Ho=["chainChanged","accountsChanged"],MP=["chainChanged","accountsChanged","message","disconnect","connect"];var LP=Object.defineProperty,zP=Object.defineProperties,kP=Object.getOwnPropertyDescriptors,Yh=Object.getOwnPropertySymbols,HP=Object.prototype.hasOwnProperty,KP=Object.prototype.propertyIsEnumerable,Zh=(o,t,r)=>t in o?LP(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,bi=(o,t)=>{for(var r in t||(t={}))HP.call(t,r)&&Zh(o,r,t[r]);if(Yh)for(var r of Yh(t))KP.call(t,r)&&Zh(o,r,t[r]);return o},Xh=(o,t)=>zP(o,kP(t));function Ds(o){return Number(o[0].split(":")[1])}function Ro(o){return`0x${o.toString(16)}`}function VP(o){const{chains:t,optionalChains:r,methods:s,optionalMethods:a,events:u,optionalEvents:l,rpcMap:g}=o;if(!$o(t))throw new Error("Invalid chains");const v={chains:t,methods:s||ko,events:u||Ho,rpcMap:bi({},t.length?{[Ds(t)]:g[Ds(t)]}:{})},d=u==null?void 0:u.filter(C=>!Ho.includes(C)),E=s==null?void 0:s.filter(C=>!ko.includes(C));if(!r&&!l&&!a&&!(d!=null&&d.length)&&!(E!=null&&E.length))return{required:t.length?v:void 0};const _=(d==null?void 0:d.length)&&(E==null?void 0:E.length)||!r,I={chains:[...new Set(_?v.chains.concat(r||[]):r)],methods:[...new Set(v.methods.concat(a!=null&&a.length?a:UP))],events:[...new Set(v.events.concat(l!=null&&l.length?l:MP))],rpcMap:g};return{required:t.length?v:void 0,optional:r.length?I:void 0}}class na{constructor(){this.events=new yt.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=qP,this.on=(t,r)=>(this.events.on(t,r),this),this.once=(t,r)=>(this.events.once(t,r),this),this.removeListener=(t,r)=>(this.events.removeListener(t,r),this),this.off=(t,r)=>(this.events.off(t,r),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const r=new na;return await r.initialize(t),r}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,r){this.signer.sendAsync(t,r,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(t);const{required:r,optional:s}=VP(this.rpc);try{const a=await new Promise(async(l,g)=>{var v;this.rpc.showQrModal&&((v=this.modal)==null||v.subscribeModal(d=>{!d.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),g(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(Xh(bi({namespaces:bi({},r&&{[this.namespace]:r})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:t==null?void 0:t.pairingTopic})).then(d=>{l(d)}).catch(d=>{g(new Error(d.message))})});if(!a)return;const u=f_(a.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:u),this.setAccounts(u),this.events.emit("connect",{chainId:Ro(this.chainId)})}catch(a){throw this.signer.logger.error(a),a}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",t=>{const{params:r}=t,{event:s}=r;s.name==="accountsChanged"?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):s.name==="chainChanged"?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",t)}),this.signer.on("chainChanged",t=>{const r=parseInt(t);this.chainId=r,this.events.emit("chainChanged",Ro(this.chainId)),this.persist()}),this.signer.on("session_update",t=>{this.events.emit("session_update",t)}),this.signer.on("session_delete",t=>{this.reset(),this.events.emit("session_delete",t),this.events.emit("disconnect",Xh(bi({},g_("USER_DISCONNECTED")),{data:t.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",t=>{var r,s;this.rpc.showQrModal&&((r=this.modal)==null||r.closeModal(),(s=this.modal)==null||s.openModal({uri:t})),this.events.emit("display_uri",t)})}switchEthereumChain(t){this.request({method:"wallet_switchEthereumChain",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t=="string"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(":")[1])}setChainIds(t){const r=t.filter(s=>this.isCompatibleChainId(s)).map(s=>this.parseChainId(s));r.length&&(this.chainId=r[0],this.events.emit("chainChanged",Ro(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const r=this.parseChainId(t);this.chainId=r,this.switchEthereumChain(r)}}parseAccountId(t){const[r,s,a]=t.split(":");return{chainId:`${r}:${s}`,address:a}}setAccounts(t){this.accounts=t.filter(r=>this.parseChainId(this.parseAccountId(r).chainId)===this.chainId).map(r=>this.parseAccountId(r).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(t){var r,s;const a=(r=t==null?void 0:t.chains)!=null?r:[],u=(s=t==null?void 0:t.optionalChains)!=null?s:[],l=a.concat(u);if(!l.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const g=a.length?(t==null?void 0:t.methods)||ko:[],v=a.length?(t==null?void 0:t.events)||Ho:[],d=(t==null?void 0:t.optionalMethods)||[],E=(t==null?void 0:t.optionalEvents)||[],_=(t==null?void 0:t.rpcMap)||this.buildRpcMap(l,t.projectId),I=(t==null?void 0:t.qrModalOptions)||void 0;return{chains:a==null?void 0:a.map(C=>this.formatChainId(C)),optionalChains:u.map(C=>this.formatChainId(C)),methods:g,events:v,optionalMethods:d,optionalEvents:E,rpcMap:_,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:I,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,r){const s={};return t.forEach(a=>{s[a]=this.getRpcUrl(a,r)}),s}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?Ds(this.rpc.chains):Ds(this.rpc.optionalChains),this.signer=await xP.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let r;try{const{WalletConnectModal:s}=await zw(()=>import("./index-BfryJIfK.js").then(a=>a.i),__vite__mapDeps([0,1,2]));r=s}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(r)try{this.modal=new r(bi({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(s){throw this.signer.logger.error(s),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(t){if(!t)return;const{chains:r,optionalChains:s,rpcMap:a}=t;r&&$o(r)&&(this.rpc.chains=r.map(u=>this.formatChainId(u)),r.forEach(u=>{this.rpc.rpcMap[u]=(a==null?void 0:a[u])||this.getRpcUrl(u)})),s&&$o(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s==null?void 0:s.map(u=>this.formatChainId(u)),s.forEach(u=>{this.rpc.rpcMap[u]=(a==null?void 0:a[u])||this.getRpcUrl(u)}))}getRpcUrl(t,r){var s;return((s=this.rpc.rpcMap)==null?void 0:s[t])||`${jP}?chainId=eip155:${t}&projectId=${r||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),r=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:r==null?void 0:r.accounts),this.setAccounts(r==null?void 0:r.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t=="string"||t instanceof String?[this.parseAccount(t)]:t.map(r=>this.parseAccount(r))}}const dS=na;export{dS as EthereumProvider,MP as OPTIONAL_EVENTS,UP as OPTIONAL_METHODS,Ho as REQUIRED_EVENTS,ko as REQUIRED_METHODS,na as default};
|