1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[836],{60836:function(e,t,i){"use strict";i.d(t,{EthereumProvider:function(){return dS}});var r,s,n,a,o,c,h,d,l,u,f,p,g,b,m,y,v,w,_,I,S,E,P,M,x=i(18086),A=i.n(x),O=i(1333),R=i(51862),N=i(46017),q=i(36982);let C="2.23.2",T={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:i})=>t?`${e??"https://viem.sh"}${t}${i?`#${i}`:""}`:void 0,version:`viem@${C}`};class j extends Error{constructor(e,t={}){let i=t.cause instanceof j?t.cause.details:t.cause?.message?t.cause.message:t.details,r=t.cause instanceof j&&t.cause.docsPath||t.docsPath,s=T.getDocsUrl?.({...t,docsPath:r});super([e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...i?[`Details: ${i}`]:[],...T.version?[`Version: ${T.version}`]:[]].join("\n"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=r,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=C}walk(e){return function e(t,i){return i?.(t)?t:t&&"object"==typeof t&&"cause"in t&&void 0!==t.cause?e(t.cause,i):i?null:t}(this,e)}}function k(e,{strict:t=!0}={}){return!!e&&"string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}class z extends j{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function $(e,{dir:t,size:i=32}={}){return"string"==typeof e?function(e,{dir:t,size:i=32}={}){if(null===i)return e;let r=e.replace("0x","");if(r.length>2*i)throw new z({size:Math.ceil(r.length/2),targetSize:i,type:"hex"});return`0x${r["right"===t?"padEnd":"padStart"](2*i,"0")}`}(e,{dir:t,size:i}):function(e,{dir:t,size:i=32}={}){if(null===i)return e;if(e.length>i)throw new z({size:e.length,targetSize:i,type:"bytes"});let r=new Uint8Array(i);for(let s=0;s<i;s++){let n="right"===t;r[n?s:i-s-1]=e[n?s:e.length-s-1]}return r}(e,{dir:t,size:i})}class L extends j{constructor({max:e,min:t,signed:i,size:r,value:s}){super(`Number "${s}" is not in safe ${r?`${8*r}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class D extends j{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function U(e){return k(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function B(e,{size:t}){if(U(e)>t)throw new D({givenSize:U(e),maxSize:t})}function V(e,t={}){let{signed:i}=t;t.size&&B(e,{size:t.size});let r=BigInt(e);if(!i)return r;let s=(e.length-2)/2;return r<=(1n<<8n*BigInt(s)-1n)-1n?r:r-BigInt(`0x${"f".padStart(2*s,"f")}`)-1n}let K=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e,t={}){return"number"==typeof e||"bigint"==typeof e?J(e,t):"string"==typeof e?function(e,t={}){return F(G.encode(e),t)}(e,t):"boolean"==typeof e?function(e,t={}){let i=`0x${Number(e)}`;return"number"==typeof t.size?(B(i,{size:t.size}),$(i,{size:t.size})):i}(e,t):F(e,t)}function F(e,t={}){let i="";for(let t=0;t<e.length;t++)i+=K[e[t]];let r=`0x${i}`;return"number"==typeof t.size?(B(r,{size:t.size}),$(r,{dir:"right",size:t.size})):r}function J(e,t={}){let i;let{signed:r,size:s}=t,n=BigInt(e);s?i=r?(1n<<8n*BigInt(s)-1n)-1n:2n**(8n*BigInt(s))-1n:"number"==typeof e&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a="bigint"==typeof i&&r?-i-1n:0;if(i&&n>i||n<a){let t="bigint"==typeof e?"n":"";throw new L({max:i?`${i}${t}`:void 0,min:`${a}${t}`,signed:r,size:s,value:`${e}${t}`})}let o=`0x${(r&&n<0?(1n<<BigInt(8*s))+BigInt(n):n).toString(16)}`;return s?$(o,{size:s}):o}let G=new TextEncoder,W=new TextEncoder,Z={zero:48,nine:57,A:65,F:70,a:97,f:102};function Q(e){return e>=Z.zero&&e<=Z.nine?e-Z.zero:e>=Z.A&&e<=Z.F?e-(Z.A-10):e>=Z.a&&e<=Z.f?e-(Z.a-10):void 0}function Y(e,t={}){let i=e;t.size&&(B(i,{size:t.size}),i=$(i,{dir:"right",size:t.size}));let r=i.slice(2);r.length%2&&(r=`0${r}`);let s=r.length/2,n=new Uint8Array(s);for(let e=0,t=0;e<s;e++){let i=Q(r.charCodeAt(t++)),s=Q(r.charCodeAt(t++));if(void 0===i||void 0===s)throw new j(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);n[e]=16*i+s}return n}function X(e,t={}){let i=W.encode(e);return"number"==typeof t.size?(B(i,{size:t.size}),$(i,{dir:"right",size:t.size})):i}var ee=i(33483);function et(e,t){let i=(0,ee.fr)(k(e,{strict:!1})?function(e,t={}){return"number"==typeof e||"bigint"==typeof e?Y(J(e,t)):"boolean"==typeof e?function(e,t={}){let i=new Uint8Array(1);return(i[0]=Number(e),"number"==typeof t.size)?(B(i,{size:t.size}),$(i,{size:t.size})):i}(e,t):k(e)?Y(e,t):X(e,t)}(e):e);return"bytes"===(t||"hex")?i:H(i)}class ei extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}let er=new ei(8192);async function es({hash:e,signature:t}){let r=k(e)?e:H(e),{secp256k1:s}=await Promise.resolve().then(i.bind(i,70040)),n=(()=>
1{if("object"==typeof t&&"r"in t&&"s"in t){let{r:e,s:i,v:r,yParity:n}=t,a=en(Number(n??r));return new s.Signature(V(e),V(i)).addRecoveryBit(a)}let e=k(t)?t:H(t),i=en(function(e,t={}){return Number(V(e,t))}(`0x${e.slice(130)}`));return s.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(i)})().recoverPublicKey(r.substring(2)).toHex(!1);return`0x${n}`}function en(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw Error("Invalid yParityOrV value")}async function ea({hash:e,signature:t}){return function(e){let t=et(`0x${e.substring(4)}`).substring(26);return function(e,t){if(er.has(`${e}.undefined`))return er.get(`${e}.undefined`);let i=e.substring(2).toLowerCase(),r=et(X(i),"bytes"),s=(t?i.substring(`${t}0x`.length):i).split("");for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&s[e]&&(s[e]=s[e].toUpperCase()),(15&r[e>>1])>=8&&s[e+1]&&(s[e+1]=s[e+1].toUpperCase());let n=`0x${s.join("")}`;return er.set(`${e}.${t}`,n),n}(`0x${t}`)}(await es({hash:e,signature:t}))}var eo=i(50785);function ec(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function eh(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let i=ec(t),r=0;for(let t of e)i.set(t,r),r+=t.length;return i}var ed=i(55566);function el(e,t,i,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:r}}}let eu=el("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),ef=el("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},e=>{let t=ec((e=e.substring(1)).length);for(let i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),ep={utf8:eu,"utf-8":eu,hex:ed.gh.base16,latin1:ef,ascii:ef,binary:ef,...ed.gh};function eg(e,t="utf8"){let i=ep[t];if(!i)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):i.decoder.decode(`${i.prefix}${e}`)}function eb(e,t="utf8"){let i=ep[t];if(!i)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):i.encoder.encode(e).substring(1)}var em=i(12521),ey=i(94807),ev=i(28070),ew=i(92268).Buffer;function e_(e){let[t,i]=e.split(":");return{namespace:t,reference:i}}function eI(e,t=[]){let i=[];return Object.keys(e).forEach(r=>{if(t.length&&!t.includes(r))return;let s=e[r];i.push(...s.accounts)}),i}function eS(e,t){return e.includes(":")?[e]:t.chains||[]}let eE={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function eP(){return"u">typeof ev&&"u">typeof ev.versions&&"u">typeof ev.versions.node}function eM(){return!(0,N.getDocument)()&&!!(0,N.getNavigator)()&&"ReactNative"===navigator.product}function ex(){return!eP()&&!!(0,N.getNavigator)()&&!!(0,N.getDocument)()}function eA(){return eM()?eE.reactNative:eP()?eE.node:ex()?eE.browser:eE.unknown}function eO(){var e;try{return eM()&&"u">typeof i.g&&"u">typeof(null==i.g?void 0:i.g.Application)?null==(e=i.g.Application)?void 0:e.applicationId:void 0}catch{return}}function eR(){return(0,q.D)()||{name:"",description:"",url:"",icons:[""]}}function eN(e,t,r){let s=function(){if(eA()===eE.reactNative&&"u">typeof i.g&&"u">typeof(null==i.g?void 0:i.g.Platform)){let{OS:e,Version:t}=i.g.Platform;return[e,t].join("-")}let e=(0,O.qY)();if(null===e)return"unknown";let t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),n=function(){var e;let t=eA();return t===eE.browser?[t,(null==(e=(0,N.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",r].join("-"),s,n].join("/")}function eq(e,t){return e.filter(e=>t.includes(e)).length===e.length}function eC(e){return Object.fromEntries(e.entries())}function eT(e){return new Map(Object.entries(e))}function ej(e=R.FIVE_MINUTES,t){let i,r,s,n;let a=(0,R.toMiliseconds)(e||R.FIVE_MINUTES);return{resolve:e=>{s&&i&&(clearTimeout(s),i(e),n=Promise.resolve(e))},reject:e=>{s&&r&&(clearTimeout(s),r(e))},done:()=>new Promise((e,o)=>{if(n)return e(n);s=setTimeout(()=>{let e=Error(t);n=Promise.reject(e),o(e)},a),i=e,r=o})}}function ek(e,t,i){return new Promise(async(r,s)=>{let n=setTimeout(()=>s(Error(i)),t);try{let t=await e;r(t)}catch(e){s(e)}clearTimeout(n)})}function ez(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function e$(e){let[t,i]=e.split(":"),r={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof i)r.topic=i;else if("id"===t&&Number.isInteger(Number(i)))r.id=Number(i);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${i}`);return r}function eL(e,t){return(0,R.fromMiliseconds)((t||Date.now())+(0,R.toMiliseconds)(e))}function eD(e){return Date.now()>=(0,R.toMiliseconds)(e)}function eU(e,t){return`${e}${t?`:${t}`:""}`}function eB(e=[],t=[]){return[...new Set([...e,...t])]}async function eV({id:e,topic:t,wcDeepLink:r}){var s;try{if(!r)return;let n="string"==typeof r?JSON.parse(r):r,a=n?.href;if("string"!=typeof a)return;let o=function(e,t,i){let r=`requestId=${t}&sessionTopic=${i}`;e.endsWith("/")&&(e=e.slice(0,-1));let s=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";s=`${s}${t}${function(e,t=!1){let i=ew.from(e).toString("base64");return t?i.replace(/[=]/g,""):i}(r,!0)}`}else s=`${s}/wc?${r}`;return s}(a,e,t),c=eA();if(c===eE.browser){let e;if(!(null!=(s=(0,N.getDocument)())&&s.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}e="_self",function(){try{return window.self!==window.top}catch{return!1}}()?e="_top":("u">typeof window&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||o.startsWith("https://")||o.startsWith("http://"))&&(e="_blank"),window.open(o,e,"noreferrer noopener")}else c===eE.reactNative&&"u">typeof(null==i.g?void 0:i.g.Linking)&&await i.g.Linking.openURL(o)}catch(e){console.error(e)}}async function eK(e,t){let i="";try{if(ex()&&(i=localStorage.getItem(t)))return i;i=await e.getItem(t)}catch(e){console.error(e)}return i}function eH(e,t){if(!e.includes(t))return null;let i=e.split(/([&,?,=])/),r=i.indexOf(t);return i[r+2]}function eF(){return"u">typeof crypto&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function eJ(){return"u">typeof ev&&"true"===ev.env.IS_VITEST}function eG(e){return ew.from(e,"base64").toString("utf-8")}function eW(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function eZ(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function eQ(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");eW(e.outputLen),eW(e.blockLen)}function eY(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function eX(e,t){eZ(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}let e0=BigInt(4294967296-1),e1=BigInt(32),e2=(e,t,i)=>e<<i|t>>>32-i,e6=(e,t,i)=>t<<i|e>>>32-i,e3=(e,t,i)=>t<<i-32|e>>>64-i,e8=(e,t,i)=>e<<i-32|t>>>64-i,e4="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function e5(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function e9(e,t){return e<<32-t|e>>>t}let e7=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function te(e){for(let i=0;i<e.length;i++){var t;e[i]=(t=e[i])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function tt(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),eZ(e),e}class ti{clone(){return this._cloneInto()}}function tr(e){let t=t=>e().update(tt(t)).digest(),i=e();return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=()=>e(),t}function ts(e=32){if(e4&&"function"==typeof e4.getRandomValues)return e4.getRandomValues(new Uint8Array(e));if(e4&&"function"==typeof e4.randomBytes)return e4.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let tn=[],ta=[],to=[],tc=BigInt(0),th=BigInt(1),td=BigInt(2),tl=BigInt(7),tu=BigInt(256),tf=BigInt(113);for(let e=0,t=th,i=1,r=0;e<24;e++){[i,r]=[r,(2*i+3*r)%5],tn.push(2*(5*r+i)),ta.push((e+1)*(e+2)/2%64);let s=tc;for(let e=0;e<7;e++)(t=(t<<th^(t>>tl)*tf)%tu)&td&&(s^=th<<(th<<BigInt(e))-th);to.push(s)}let[tp,tg]=function(e,t=!1){let i=new Uint32Array(e.length),r=new
1Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:a}=function(e,t=!1){return t?{h:Number(e&e0),l:Number(e>>e1&e0)}:{h:0|Number(e>>e1&e0),l:0|Number(e&e0)}}(e[s],t);[i[s],r[s]]=[n,a]}return[i,r]}(to,!0),tb=(e,t,i)=>i>32?e3(e,t,i):e2(e,t,i),tm=(e,t,i)=>i>32?e8(e,t,i):e6(e,t,i);class ty extends ti{constructor(e,t,i,r=!1,s=24){var n;if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=r,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,eW(i),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=new Uint32Array((n=this.state).buffer,n.byteOffset,Math.floor(n.byteLength/4))}keccak(){e7||te(this.state32),function(e,t=24){let i=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)i[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,s=(t+2)%10,n=i[s],a=i[s+1],o=tb(n,a,1)^i[r],c=tm(n,a,1)^i[r+1];for(let i=0;i<50;i+=10)e[t+i]^=o,e[t+i+1]^=c}let t=e[2],s=e[3];for(let i=0;i<24;i++){let r=ta[i],n=tb(t,s,r),a=tm(t,s,r),o=tn[i];t=e[o],s=e[o+1],e[o]=n,e[o+1]=a}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)i[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~i[(r+2)%10]&i[(r+4)%10]}e[0]^=tp[r],e[1]^=tg[r]}i.fill(0)}(this.state32,this.rounds),e7||te(this.state32),this.posOut=0,this.pos=0}update(e){eY(this);let{blockLen:t,state:i}=this,r=(e=tt(e)).length;for(let s=0;s<r;){let n=Math.min(t-this.pos,r-s);for(let t=0;t<n;t++)i[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:i,blockLen:r}=this;e[i]^=t,(128&t)!=0&&i===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){eY(this,!1),eZ(e),this.finish();let t=this.state,{blockLen:i}=this;for(let r=0,s=e.length;r<s;){this.posOut>=i&&this.keccak();let n=Math.min(i-this.posOut,s-r);e.set(t.subarray(this.posOut,this.posOut+n),r),this.posOut+=n,r+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return eW(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(eX(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:i,outputLen:r,rounds:s,enableXOF:n}=this;return e||(e=new ty(t,i,r,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=i,e.outputLen=r,e.enableXOF=n,e.destroyed=this.destroyed,e}}let tv=tr(()=>new ty(136,1,32));function tw(e){let t=`�Ethereum Signed Message: 2${e.length}`,i=new TextEncoder().encode(t+e);return"0x"+ew.from(tv(i)).toString("hex")}async function t_(e,t,i,r,s,n){switch(i.t){case"eip191":return await tI(e,t,i.s);case"eip1271":return await tS(e,t,i.s,r,s,n);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${i.t}`)}}async function tI(e,t,i){return(await ea({hash:tw(t),signature:i})).toLowerCase()===e.toLowerCase()}async function tS(e,t,i,r,s,n){let a=e_(r);if(!a.namespace||!a.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{let a="0x1626ba7e",o=i.substring(2),c=tw(t).substring(2),h=await fetch(`${n||"https://rpc.walletconnect.org/v1"}/?chainId=${r}&projectId=${s}`,{method:"POST",body:JSON.stringify({id:Date.now()+Math.floor(1e3*Math.random()),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:a+c+"00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041"+o},"latest"]})}),{result:d}=await h.json();return!!d&&d.slice(0,a.length).toLowerCase()===a.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}var tE=Object.defineProperty,tP=Object.defineProperties,tM=Object.getOwnPropertyDescriptors,tx=Object.getOwnPropertySymbols,tA=Object.prototype.hasOwnProperty,tO=Object.prototype.propertyIsEnumerable,tR=(e,t,i)=>t in e?tE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,tN=(e,t)=>{for(var i in t||(t={}))tA.call(t,i)&&tR(e,i,t[i]);if(tx)for(var i of tx(t))tO.call(t,i)&&tR(e,i,t[i]);return e},tq=(e,t)=>
2tP(e,tM(t));let tC=e=>e?.split(":"),tT=e=>{let t=e&&tC(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]},tj=e=>{let t=e&&tC(e);if(t)return t[2]+":"+t[3]},tk=e=>{let t=e&&tC(e);if(t)return t.pop()};async function tz(e){let{cacao:t,projectId:i}=e,{s:r,p:s}=t,n=t$(s,s.iss),a=tk(s.iss);return await t_(a,n,r,tj(s.iss),i)}let t$=(e,t)=>{let i=`${e.domain} wants you to sign in with your Ethereum account:`,r=tk(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let s=e.statement||void 0,n=`URI: ${e.aud||e.uri}`,a=`Version: ${e.version}`,o=`Chain ID: ${tT(t)}`,c=`Nonce: ${e.nonce}`,h=`Issued At: ${e.iat}`,d=e.exp?`Expiration Time: ${e.exp}`:void 0,l=e.nbf?`Not Before: ${e.nbf}`:void 0,u=e.requestId?`Request ID: ${e.requestId}`:void 0,f=e.resources?`Resources:${e.resources.map(e=>` 3- ${e}`).join("")}`:void 0,p=tK(e.resources);return p&&(s=function(e="",t){tL(t);let i="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(i))return e;let r=[],s=0;Object.keys(t.att).forEach(e=>{let i=Object.keys(t.att[e]).map(e=>({ability:e.split("/")[0],action:e.split("/")[1]}));i.sort((e,t)=>e.action.localeCompare(t.action));let n={};i.forEach(e=>{n[e.ability]||(n[e.ability]=[]),n[e.ability].push(e.action)});let a=Object.keys(n).map(t=>(s++,`(${s}) '${t}': '${n[t].join("', '")}' for '${e}'.`));r.push(a.join(", ").replace(".,","."))});let n=r.join(" "),a=`${i}${n}`;return`${e?e+" ":""}${a}`}(s,tU(p))),[i,r,"",s,"",n,a,o,c,h,d,l,u,f].filter(e=>null!=e).join(` 4`)};function tL(e){if(!e)throw Error("No recap provided, value is undefined");if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(null!=t&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let i=e.att[t];if(Array.isArray(i)||"object"!=typeof i)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw Error(`Resource object is empty: ${t}`);
4Object.keys(i).forEach(e=>{let t=i[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if("object"!=typeof t)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function tD(e){return tL(e),`urn:recap:${ew.from(JSON.stringify(e)).toString("base64").replace(/=/g,"")}`}function tU(e){var t;let i=(t=e.replace("urn:recap:",""),JSON.parse(ew.from(t,"base64").toString("utf-8")));return tL(i),i}function tB(e){var t;let i=tU(e);tL(i);let r=null==(t=i.att)?void 0:t.eip155;return r?Object.keys(r).map(e=>e.split("/")[1]):[]}function tV(e){let t=tU(e);tL(t);let i=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;null!=(t=e?.[0])&&t.chains&&i.push(e[0].chains)})}),[...new Set(i.flat())]}function tK(e){if(!e)return;let t=e?.[e.length-1];return t&&t.includes("urn:recap:")?t:void 0}function tH(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function tF(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function tJ(e,...t){if(!tF(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function tG(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function tW(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}let tZ=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tQ=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw Error("Non little-endian hardware is not supported");function tY(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}(e);else if(tF(e))e=t1(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function tX(e,t,i=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(i&&t.byteOffset%4!=0)throw Error("invalid output, must be aligned");return t}function t0(e,t,i,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,r);let s=BigInt(32),n=BigInt(4294967295),a=Number(i>>s&n),o=Number(i&n),c=r?4:0,h=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+h,o,r)}function t1(e){return Uint8Array.from(e)}function t2(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}let t6=e=>Uint8Array.from(e.split("").map(e=>e.charCodeAt(0))),t3=t6("expand 16-byte k"),t8=t6("expand 32-byte k"),t4=tZ(t3),t5=tZ(t8);function t9(e,t){return e<<t|e>>>32-t}function t7(e){return e.byteOffset%4==0}let ie=4294967296-1,it=new Uint32Array,ii=(e,t)=>255&e[t++]|(255&e[t++])<<8;class ir{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,tJ(e=tY(e),32);let t=ii(e,0),i=ii(e,2),r=ii(e,4),s=ii(e,6),n=ii(e,8),a=ii(e,10),o=ii(e,12),c=ii(e,14);this.r[0]=8191&t,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|r<<6)&7939,this.r[3]=(r>>>7|s<<9)&8191,this.r[4]=(s>>>4|n<<12)&255,this.r[5]=n>>>1&8190,this.r[6]=(n>>>14|a<<2)&8191,this.r[7]=(a>>>11|o<<5)&8065,this.r[8]=(o>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=ii(e,16+2*t)}process(e,t,i=!1){let{h:r,r:s}=this,n=s[0],a=s[1],o=s[2],c=s[3],h=s[4],d=s[5],l=s[6],u=s[7],f=s[8],p=s[9],g=ii(e,t+0),b=ii(e,t+2),m=ii(e,t+4),y=ii(e,t+6),v=ii(e,t+8),w=ii(e,t+10),_=ii(e,t+12),I=ii(e,t+14),S=r[0]+(8191&g),E=r[1]+((g>>>13|b<<3)&8191),P=r[2]+((b>>>10|m<<6)&8191),M=r[3]+((m>>>7|y<<9)&8191),x=r[4]+((y>>>4|v<<12)&8191),A=r[5]+(v>>>1&8191),O=r[6]+((v>>>14|w<<2)&8191),R=r[7]+((w>>>11|_<<5)&8191),N=r[8]+((_>>>8|I<<8)&8191),q=r[9]+(I>>>5|(i?0:2048)),C=0,T=0+S*n+5*p*E+5*f*P+5*u*M+5*l*x;C=T>>>13,T&=8191,T+=5*d*A+5*h*O+5*c*R+5*o*N+5*a*q,C+=T>>>13,T&=8191;let j=C+S*a+E*n+5*p*P+5*f*M+5*u*x;C=j>>>13,j&=8191,j+=5*l*A+5*d*O+5*h*R+5*c*N+5*o*q,C+=j>>>13,j&=8191;let k=C+S*o+E*a+P*n+5*p*M+5*f*x;C=k>>>13,k&=8191,k+=5*u*A+5*l*O+5*d*R+5*h*N+5*c*q,C+=k>>>13,k&=8191;let z=C+S*c+E*o+P*a+M*n+5*p*x;C=z>>>13,z&=8191,z+=5*f*A+5*u*O+5*l*R+5*d*N+5*h*q,C+=z>>>13,z&=8191;let $=C+S*h+E*c+P*o+M*a+x*n;C=$>>>13,$&=8191,$+=5*p*A+5*f*O+5*u*R+5*l*N+5*d*q,C+=$>>>13,$&=8191;let L=C+S*d+E*h+P*c+M*o+x*a;C=L>>>
413,L&=8191,L+=A*n+5*p*O+5*f*R+5*u*N+5*l*q,C+=L>>>13,L&=8191;let D=C+S*l+E*d+P*h+M*c+x*o;C=D>>>13,D&=8191,D+=A*a+O*n+5*p*R+5*f*N+5*u*q,C+=D>>>13,D&=8191;let U=C+S*u+E*l+P*d+M*h+x*c;C=U>>>13,U&=8191,U+=A*o+O*a+R*n+5*p*N+5*f*q,C+=U>>>13,U&=8191;let B=C+S*f+E*u+P*l+M*d+x*h;C=B>>>13,B&=8191,B+=A*c+O*o+R*a+N*n+5*p*q,C+=B>>>13,B&=8191;let V=C+S*p+E*f+P*u+M*l+x*d;C=V>>>13,V&=8191,V+=A*h+O*c+R*o+N*a+q*n,C+=V>>>13,V&=8191,T=8191&(C=(C=(C<<2)+C|0)+T|0),C>>>=13,j+=C,r[0]=T,r[1]=j,r[2]=k,r[3]=z,r[4]=$,r[5]=L,r[6]=D,r[7]=U,r[8]=B,r[9]=V}finalize(){let{h:e,pad:t}=this,i=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=5*r,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,i[0]=e[0]+5,r=i[0]>>>13,i[0]&=8191;for(let t=1;t<10;t++)i[t]=e[t]+r,r=i[t]>>>13,i[t]&=8191;i[9]-=8192;let s=(1^r)-1;for(let e=0;e<10;e++)i[e]&=s;s=~s;for(let t=0;t<10;t++)e[t]=e[t]&s|i[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let n=e[0]+t[0];e[0]=65535&n;for(let i=1;i<8;i++)n=(e[i]+t[i]|0)+(n>>>16)|0,e[i]=65535&n;t2(i)}update(e){tG(this);let{buffer:t,blockLen:i}=this,r=(e=tY(e)).length;for(let s=0;s<r;){let n=Math.min(i-this.pos,r-s);if(n===i){for(;i<=r-s;s+=i)this.process(e,s);continue}t.set(e.subarray(s,s+n),this.pos),this.pos+=n,s+=n,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){t2(this.h,this.r,this.buffer,this.pad)}digestInto(e){tG(this),function(e,t){tJ(e);let i=t.outputLen;if(e.length<i)throw Error("digestInto() expects output buffer of length at least "+i)}(e,this),this.finished=!0;let{buffer:t,h:i}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let t=0;t<8;t++)e[s++]=i[t]>>>0,e[s++]=i[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}}let is=function(e){let t=(t,i)=>e(i).update(tY(t)).digest(),i=e(new Uint8Array(32));return t.outputLen=i.outputLen,t.blockLen=i.blockLen,t.create=t=>e(t),t}(e=>new ir(e)),ia=function(e,t){let{allowShortKeys:i,extendNonceFn:r,counterLength:s,counterRight:n,rounds:a}=function(e,t){if(null==t||"object"!=typeof t)throw Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw Error("core must be a function");return tH(s),tH(a),tW(n),tW(i),(t,o,c,h,d=0)=>{tJ(t),tJ(o),tJ(c);let l=c.length;if(void 0===h&&(h=new Uint8Array(l)),tJ(h),tH(d),d<0||d>=ie)throw Error("arx: counter overflow");if(h.length<l)throw Error(`arx: output (${h.length}) is shorter than data (${l})`);let u=[],f=t.length,p,g;if(32===f)u.push(p=t1(t)),g=t5;else if(16===f&&i)(p=new Uint8Array(32)).set(t),p.set(t,16),g=t4,u.push(p);else throw Error(`arx: invalid 32-byte key, got length=${f}`);t7(o)||u.push(o=t1(o));let b=tZ(p);if(r){if(24!==o.length)throw Error("arx: extended nonce must be 24 bytes");r(g,b,tZ(o.subarray(0,16)),b),o=o.subarray(16)}let m=16-s;if(m!==o.length)throw Error(`arx: nonce must be ${m} or 16 bytes`);if(12!==m){let e=new Uint8Array(12);e.set(o,n?0:12-o.length),o=e,u.push(o)}return function(e,t,i,r,s,n,a,o){let c=s.length,h=new Uint8Array(64),d=tZ(h),l=t7(s)&&t7(n),u=l?tZ(s):it,f=l?tZ(n):it;for(let p=0;p<c;a++){if(e(t,i,r,d,a,o),a>=ie)throw Error("arx: counter overflow");let g=Math.min(64,c-p);if(l&&64===g){let e=p/4;if(p%4!=0)throw Error("arx: invalid block position");for(let t=0,i;t<16;t++)f[i=e+t]=u[i]^d[t];p+=64;continue}for(let e=0,t;e<g;e++)n[t=p+e]=s[t]^h[e];p+=g}}(e,g,b,tZ(o),c,h,d,a),t2(...u),h}}(function(e,t,i,r,s,n=20){let a=e[0],o=e[1],c=e[2],h=e[3],d=t[0],l=t[1],u=t[2],f=t[3],p=t[4],g=t[5],b=t[6],m=t[7],y=i[0],v=i[1],w=i[2],_=a,I=o,S=c,E=h,P=d,M=l,x=u,A=f,O=p,R=g,N=b,q=m,C=s,T=y,j=v,k=w;for(let e=0;e<n;e+=2)O=O+(C=t9(C^(_=_+P|0),16))|0,_=_+(P=t9(P^O,12))|0,O=O+(C=t9(C^_,8))|0,P=t9(P^O,7),R=R+(T=t9(T^(I=I+M|0),16))|0,I=I+(M=t9(M^R,12))|0,R=R+(T=t9(T^I,8))|0,M=t9(M^R,7),N=N+(j=t9(j^(S=S+x|0),16))|0,S=S+(x=t9(x^N,12))|0,N=N+(j=t9(j^S,8))|0,x=t9(x^N,7),q=q+(k=t9(k^(E=E+A|0),16))|0,E=E+(A=t9(A^q,12))|0,q=q+(k=t9(k^E,8))|0,A=t9(A^q,7),N=N+(k=t9(k^(_=_+M|0),16))|0,_=_+(M=t9(M^N,12))|0,N=N+(k=t9(k^_,8))|0,M=t9(M^N,7),q=q+(C=t9(C^(I=I+x|0),16))|0,I=I+(x=t9
4(x^q,12))|0,q=q+(C=t9(C^I,8))|0,x=t9(x^q,7),O=O+(T=t9(T^(S=S+A|0),16))|0,S=S+(A=t9(A^O,12))|0,O=O+(T=t9(T^S,8))|0,A=t9(A^O,7),R=R+(j=t9(j^(E=E+P|0),16))|0,E=E+(P=t9(P^R,12))|0,R=R+(j=t9(j^E,8))|0,P=t9(P^R,7);let z=0;r[z++]=a+_|0,r[z++]=o+I|0,r[z++]=c+S|0,r[z++]=h+E|0,r[z++]=d+P|0,r[z++]=l+M|0,r[z++]=u+x|0,r[z++]=f+A|0,r[z++]=p+O|0,r[z++]=g+R|0,r[z++]=b+N|0,r[z++]=m+q|0,r[z++]=s+C|0,r[z++]=y+T|0,r[z++]=v+j|0,r[z++]=w+k|0},{counterRight:!1,counterLength:4,allowShortKeys:!1}),io=new Uint8Array(16),ic=(e,t)=>{e.update(t);let i=t.length%16;i&&e.update(io.subarray(i))},ih=new Uint8Array(32);function id(e,t,i,r,s){let n=e(t,i,ih),a=is.create(n);s&&ic(a,s),ic(a,r);let o=new Uint8Array(16),c=tQ(o);t0(c,0,BigInt(s?s.length:0),!0),t0(c,8,BigInt(r.length),!0),a.update(o);let h=a.digest();return t2(n,o),h}let il=((e,t)=>{function i(r,...s){if(tJ(r),void 0!==e.nonceLength){let t=s[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?tJ(t):tJ(t,e.nonceLength)}let n=e.tagLength;n&&void 0!==s[1]&&tJ(s[1]);let a=t(r,...s),o=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");tJ(t)}},c=!1;return{encrypt(e,t){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,tJ(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(tJ(e),n&&e.length<n)throw Error("invalid ciphertext length: smaller than tagLength="+n);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(i,e),i})({blockSize:64,nonceLength:12,tagLength:16},(e,t,i)=>({encrypt(r,s){let n=r.length;(s=tX(n+16,s,!1)).set(r);let a=s.subarray(0,-16);ia(e,t,a,a,1);let o=id(ia,e,t,a,i);return s.set(o,n),t2(o),s},decrypt(r,s){s=tX(r.length-16,s,!1);let n=r.subarray(0,-16),a=r.subarray(-16),o=id(ia,e,t,n,i);if(!function(e,t){if(e.length!==t.length)return!1;let i=0;for(let r=0;r<e.length;r++)i|=e[r]^t[r];return 0===i}(a,o))throw Error("invalid tag");return s.set(r.subarray(0,-16)),ia(e,t,s,s,1),t2(o),s}}));class iu extends ti{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,eQ(e);let i=tt(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(i.length>r?e.create().update(i).digest():i);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return eY(this),this.iHash.update(e),this}digestInto(e){eY(this),eZ(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:i,finished:r,destroyed:s,blockLen:n,outputLen:a}=this;return e.finished=r,e.destroyed=s,e.blockLen=n,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let ip=(e,t,i)=>new iu(e,t).update(i).digest();ip.create=(e,t)=>new iu(e,t);let ig=new Uint8Array([0]),ib=new Uint8Array,im=(e,t,i,r,s)=>{var n;return function(e,t,i,r=32){if(eQ(e),eW(r),r>255*e.outputLen)throw Error("Length should be <= 255*HashLen");let s=Math.ceil(r/e.outputLen);void 0===i&&(i=ib);let n=new Uint8Array(s*e.outputLen),a=ip.create(e,t),o=a._cloneInto(),c=new Uint8Array(a.outputLen);for(let t=0;t<s;t++)ig[0]=t+1,o.update(0===t?ib:c).update(i).update(ig).digestInto(c),n.set(c,e.outputLen*t),a._cloneInto(o);return a.destroy(),o.destroy(),c.fill(0),ig.fill(0),n.slice(0,r)}(e,(n=i,eQ(e),void 0===n&&(n=new Uint8Array(e.outputLen)),ip(e,tt(n),tt(t))),r,s)};class iy extends ti{constructor(e,t,i,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=e5(this.buffer)}update(e){eY(this);let{view:t,buffer:i,blockLen:r}=this,s=(e=tt(e)).length;for(let n=0;n<s;){let a=Math.min(r-this.pos,s-n);if(a===r){let t=e5(e);for(;r<=s-n;n+=r)this.process(t,n);continue}i.set(e.subarray(n,n+a),this.pos),this.pos+=a,n+=a,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){eY(this),eX(e,this),this.finished=!0;let{buffer:t,view:i,blockLen:r,isLE:s}=this,{pos:n}=this;t[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>r-n&&(this.process(i,0),n=0);for(let e=n;e<r;e++)t[e]=0;(function(e,t,i,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,i,r);let s=BigInt(32),n=BigInt(4294967295),a=Number(i>>s&n),o=Number(i&n),c=r?4:0,h=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+h,o,r)})(i,r-8,BigInt(8*this.length),s),this.process(i,0);let a=e5(e),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");let c=o/4,h=this.get();if(c>h.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,h[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:i,length:r,finished:s,destroyed:n,pos:a}=this;return e.length=r,e.pos=a,e.finished=s,e.destroyed=n,r%t&&e.buffer.set(i),e}}let iv=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756
4734187,3204031479,3329325298]),iw=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),i_=new Uint32Array(64);class iI extends iy{constructor(){super(64,32,8,!1),this.A=0|iw[0],this.B=0|iw[1],this.C=0|iw[2],this.D=0|iw[3],this.E=0|iw[4],this.F=0|iw[5],this.G=0|iw[6],this.H=0|iw[7]}get(){let{A:e,B:t,C:i,D:r,E:s,F:n,G:a,H:o}=this;return[e,t,i,r,s,n,a,o]}set(e,t,i,r,s,n,a,o){this.A=0|e,this.B=0|t,this.C=0|i,this.D=0|r,this.E=0|s,this.F=0|n,this.G=0|a,this.H=0|o}process(e,t){for(let i=0;i<16;i++,t+=4)i_[i]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=i_[e-15],i=i_[e-2],r=e9(t,7)^e9(t,18)^t>>>3,s=e9(i,17)^e9(i,19)^i>>>10;i_[e]=s+i_[e-7]+r+i_[e-16]|0}let{A:i,B:r,C:s,D:n,E:a,F:o,G:c,H:h}=this;for(let e=0;e<64;e++){var d,l,u,f;let t=h+(e9(a,6)^e9(a,11)^e9(a,25))+((d=a)&o^~d&c)+iv[e]+i_[e]|0,p=(e9(i,2)^e9(i,13)^e9(i,22))+((l=i)&(u=r)^l&(f=s)^u&f)|0;h=c,c=o,o=a,a=n+t|0,n=s,s=r,r=i,i=t+p|0}i=i+this.A|0,r=r+this.B|0,s=s+this.C|0,n=n+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,h=h+this.H|0,this.set(i,r,s,n,a,o,c,h)}roundClean(){i_.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let iS=tr(()=>new iI),iE=BigInt(0);function iP(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function iM(e){if(!iP(e))throw Error("Uint8Array expected")}let ix=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0")),iA={_0:48,_9:57,A:65,F:70,a:97,f:102};function iO(e){return e>=iA._0&&e<=iA._9?e-iA._0:e>=iA.A&&e<=iA.F?e-(iA.A-10):e>=iA.a&&e<=iA.f?e-(iA.a-10):void 0}function iR(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,i=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(i);for(let t=0,s=0;t<i;t++,s+=2){let i=iO(e.charCodeAt(s)),n=iO(e.charCodeAt(s+1));if(void 0===i||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);r[t]=16*i+n}return r}function iN(e){return iM(e),function(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?iE:BigInt("0x"+e)}(function(e){iM(e);let t="";for(let i=0;i<e.length;i++)t+=ix[e[i]];return t}(Uint8Array.from(e).reverse()))}function iq(e,t,i){let r;if("string"==typeof t)try{r=iR(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(iP(t))r=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=r.length;if("number"==typeof i&&s!==i)throw Error(e+" of length "+i+" expected, got "+s);return r}let iC=e=>"bigint"==typeof e&&iE<=e;function iT(e,t,i,r){if(!(iC(t)&&iC(i)&&iC(r))||!(i<=t)||!(t<r))throw Error("expected valid "+e+": "+i+" <= n < "+r+", got "+t)}let ij={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||iP(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)},ik=BigInt(0),iz=BigInt(1);function i$(e,t){let i=e%t;return i>=ik?i:t+i}function iL(e,t,i){let r=e;for(;t-- >ik;)r*=r,r%=i;return r}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);let iD=BigInt(0),iU=BigInt(1),iB=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);let iV=BigInt(1),iK=BigInt(2),iH=BigInt(3),iF=BigInt(5);BigInt(8);let iJ=function(e){let t=(function(e,t,i={}){let r=(t,i,r)=>{let s=ij[i];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(r&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+i+", got "+n)};for(let[e,i]of Object.entries(t))r(e,i,!1);for(let[e,t]of Object.entries(i))r(e,t,!0)}(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})),{P:i}=t,r=e=>i$(e,i),s=t.montgomeryBits,n=Math.ceil(s/8),a=t.nByteLength,o=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>(function(e,t,i){if(t<ik)throw Error("invalid exponent, negatives unsupported");if(i<=ik)throw Error("invalid modulus");if(i===iz)return ik;let r=iz;for(;t>ik;)t&iz&&(r=r*e%i),e=e*e%i,t>>=iz;return r})(e,i-BigInt(2),i));function h(e,t,i){let s=r(e*(t-i));return[t=r(t-s),i=r(i+s)]}let d=(t.a-BigInt(2))/BigInt(4);function l(e){var t;return iR(r(e).toString(16).padStart(2*n,"0")).reverse()}function u(e,t){let u=function(e,t){iT("u",e,iD,i),iT("scalar",t,iD,i);let n=iU,a=iD,o=e,l=iU,u=iD,f;for(let i=BigInt(s-1);i>=iD;i--){let s=t>>i&iU;u^=s,n=(f=h(u,n,o))[0],o=f[1],a=(f=h(u,a,l))[0],l=f[1],u=s;let c=n+a,p=r(c*c),g=n-a,b=r(g*g),m=p-b,y=o+l,v=r((o-l)*c),w=r(y*g),_=v+w,I=v-w;o=r(_*_),l=r(e*r(I*I)),n=r(p*b),a=r(m*(p+r(d*m)))}return n=(f=h(u,n,o))[0],o=f[1],a=(f=h(u,a,l))[0],l=f[1],r(n*c(a))}(function(e){let t=iq("u coordinate",e,n);return 32===a&&(t[31]&=127),iN(t)}(t),function(e){let t=iq("scalar",e),i=t.length;if(i!==n&&i!==a)throw Error("invalid scalar, expected "+n+" or "+a+" bytes, got "+i);return iN(o(t))}(e));if(u===iD)throw Error("invalid private or public key received");return l(u)}let f=l(t.Gu);function p(e){return u(e,f)}return{scalarMult:u,scalarMultBase:p,getSharedSecret:(e,t)=>u(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:f}}({P:iB,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let{pow_p_5_8:t,b2:i}=function(e){let t=BigInt(10),i=BigInt(20),r=BigInt(40),s=BigInt(80),n=e*e%iB*e%iB,a=iL(n,iK,iB)*n%iB,o=iL(a,iV,iB)*e%iB,c=iL(o,iF,iB)*o%iB,h=iL(c,t,iB)*c%iB,d=iL(h,i,iB)*h%iB,l=iL(d,r,iB)*d%iB,u=iL(l,s,iB)*l%iB,f=iL(u,s,iB)*l%iB,p=iL(f,t,iB)*c%iB;return{pow_p_5_8:iL(p,iK,iB)*e%iB,b2:n}}(e);return i$(iL(t,iH,iB)*i,iB)}
4,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:ts}),iG="base10",iW="base16",iZ="base64pad",iQ="base64url",iY="utf8";function iX(){return eb(ts(32),iW)}function i0(e){return eb(iS(eg(e,iW)),iW)}function i1(e){return eb(iS(eg(e,iY)),iW)}function i2(e){return Number(eb(e,iG))}function i6(e){let{encoding:t=iZ}=e;if(2===i2(e.type))return eb(eh([e.type,e.sealed]),t);if(1===i2(e.type)){if(typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");return eb(eh([e.type,e.senderPublicKey,e.iv,e.sealed]),t)}return eb(eh([e.type,e.iv,e.sealed]),t)}function i3(e){let{encoded:t,encoding:i=iZ}=e,r=eg(t,i),s=r.slice(0,1);if(1===i2(s)){let e=r.slice(1,33),t=r.slice(33,45);return{type:s,sealed:r.slice(45),iv:t,senderPublicKey:e}}if(2===i2(s))return{type:s,sealed:r.slice(1),iv:ts(12)};let n=r.slice(1,13);return{type:s,sealed:r.slice(13),iv:n}}function i8(e){let t=e?.type||0;if(1===t){if(typeof e?.senderPublicKey>"u")throw Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw Error("missing receiver public key")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function i4(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function i5(e){return e?.relay||{protocol:"irn"}}function i9(e){let t=ey.iO[e];if(typeof t>"u")throw Error(`Relay Protocol not supported: ${e}`);return t}function i7(e){var t;if(!e.includes("wc:")){let t=eG(e);null!=t&&t.includes("wc:")&&(e=t)}let i=(e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e).indexOf(":"),r=-1!==e.indexOf("?")?e.indexOf("?"):void 0,s=e.substring(0,i),n=e.substring(i+1,r).split("@"),a=new URLSearchParams("u">typeof r?e.substring(r):""),o={};a.forEach((e,t)=>{o[t]=e});let c="string"==typeof o.methods?o.methods.split(","):void 0;return{protocol:s,topic:(t=n[0]).startsWith("//")?t.substring(2):t,version:parseInt(n[1],10),symKey:o.symKey,relay:function(e,t="-"){let i={},r="relay"+t;return Object.keys(e).forEach(t=>{if(t.startsWith(r)){let s=t.replace(r,""),n=e[t];i[s]=n}}),i}(o),methods:c,expiryTimestamp:o.expiryTimestamp?parseInt(o.expiryTimestamp,10):void 0}}function re(e){let t=new URLSearchParams,i=function(e,t="-"){let i={};return Object.keys(e).forEach(r=>{e[r]&&(i["relay"+t+r]=e[r])}),i}(e.relay);Object.keys(i).sort().forEach(e=>{t.set(e,i[e])}),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));let r=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${r}`}function rt(e,t,i){return`${e}?wc_ev=${i}&topic=${t}`}function ri(e){let t=[];return e.forEach(e=>{let[i,r]=e.split(":");t.push(`${i}:${r}`)}),t}function rr(e){return e.includes(":")}function rs(e){return rr(e)?e.split(":")[0]:e}function rn(e,t){let i=function(e){let t={};return e?.forEach(e=>{var i;let[r,s]=e.split(":");t[r]||(t[r]={accounts:[],chains:[],events:[],methods:[]}),t[r].accounts.push(e),null==(i=t[r].chains)||i.push(`${r}:${s}`)}),t}(t=t.map(e=>e.replace("did:pkh:","")));for(let[t,r]of Object.entries(i))r.methods?r.methods=eB(r.methods,e):r.methods=e,r.events=["chainChanged","accountsChanged"];return i}Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;
4let ra={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}},ro={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 rc(e,t){let{message:i,code:r}=ro[e];return{message:t?`${i} ${t}`:i,code:r}}function rh(e,t){let{message:i,code:r}=ra[e];return{message:t?`${i} ${t}`:i,code:r}}function rd(e,t){return!!Array.isArray(e)&&(!("u">typeof t)||!e.length||e.every(t))}function rl(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function ru(e){return typeof e>"u"}function rf(e,t){return!!(t&&ru(e))||"string"==typeof e&&!!e.trim().length}function rp(e,t){return!!(t&&ru(e))||"number"==typeof e&&!isNaN(e)}function rg(e){return!!(rf(e,!1)&&e.includes(":"))&&2===e.split(":").length}function rb(e){let t=!0;return rd(e)?e.length&&(t=e.every(e=>rf(e,!1))):t=!1,t}function rm(e,t){let i=null;return Object.values(e).forEach(e=>{var r;let s;if(i)return;let n=(r=`${t}, namespace`,s=null,rb(e?.methods)?rb(e?.events)||(s=rh("UNSUPPORTED_EVENTS",`${r}, events should be an array of strings or empty array for no events`)):s=rh("UNSUPPORTED_METHODS",`${r}, methods should be an array of strings or empty array for no methods`),s);n&&(i=n)}),i}function ry(e,t){let i=null;if(e&&rl(e)){let r;let s=rm(e,t);s&&(i=s);let n=(r=null,Object.values(e).forEach(e=>{var i,s;let n;if(r)return;let a=(i=e?.accounts,s=`${t} namespace`,n=null,rd(i)?i.forEach(e=>{n||function(e){if(rf(e,!1)&&e.includes(":")){let t=e.split(":");if(3===t.length){let e=t[0]+":"+t[1];return!!t[2]&&rg(e)}}return!1}(e)||(n=rh("UNSUPPORTED_ACCOUNTS",`${s}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=rh("UNSUPPORTED_ACCOUNTS",`${s}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n);a&&(r=a)}),r);n&&(i=n)}else i=rc("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return i}function rv(e){return rf(e.protocol,!0)}function rw(e){return"u">typeof e}function r_(e,t){return!(!rg(t)||!(function(e){let t=[];return Object.values(e).forEach(e=>{t.push(...ri(e.accounts))}),t})(e).includes(t))}function rI(e,t,i){let r=null,s=function(e){let t={};return Object.keys(e).forEach(i=>{var r;i.includes(":")?t[i]=e[i]:null==(r=e[i].chains)||r.forEach(r=>{t[r]={methods:e[i].methods,events:e[i].events}})}),t}(e),n=function(e){let t={};return Object.keys(e).forEach(i=>
4{if(i.includes(":"))t[i]=e[i];else{let r=ri(e[i].accounts);r?.forEach(r=>{t[r]={accounts:e[i].accounts.filter(e=>e.includes(`${r}:`)),methods:e[i].methods,events:e[i].events}})}}),t}(t),a=Object.keys(s),o=Object.keys(n),c=rS(Object.keys(e)),h=rS(Object.keys(t)),d=c.filter(e=>!h.includes(e));return d.length&&(r=rc("NON_CONFORMING_NAMESPACES",`${i} namespaces keys don't satisfy requiredNamespaces. 5 Required: ${d.toString()} 6 Received: ${Object.keys(t).toString()}`)),eq(a,o)||(r=rc("NON_CONFORMING_NAMESPACES",`${i} namespaces chains don't satisfy required namespaces. 7 Required: ${a.toString()} 8 Approved: ${o.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(":")||r)return;let s=ri(t[e].accounts);s.includes(e)||(r=rc("NON_CONFORMING_NAMESPACES",`${i} namespaces accounts don't satisfy namespace accounts for ${e} 9 Required: ${e} 10 Approved: ${s.toString()}`))}),a.forEach(e=>{r||(eq(s[e].methods,n[e].methods)?eq(s[e].events,n[e].events)||(r=rc("NON_CONFORMING_NAMESPACES",`${i} namespaces events don't satisfy namespace events for ${e}`)):r=rc("NON_CONFORMING_NAMESPACES",`${i} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function rS(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function rE(){let e=eA();return new Promise(t=>{switch(e){case eE.browser:t(ex()&&navigator?.onLine);break;case eE.reactNative:t(rP());break;case eE.node:default:t(!0)}})}async function rP(){if(eM()&&"u">typeof i.g&&null!=i.g&&i.g.NetInfo){let e=await (null==i.g?void 0:i.g.NetInfo.fetch());return e?.isConnected}return!0}let rM={};class rx{static get(e){return rM[e]}static set(e,t){rM[e]=t}static delete(e){delete rM[e]}}var rA=i(8163),rO=i(64788),rR=i(41904),rN=i(34189),rq=Object.defineProperty,rC=(e,t,i)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,rT=(e,t,i)=>rC(e,"symbol"!=typeof t?t+"":t,i);class rj extends rN.q{constructor(e){super(),this.opts=e,rT(this,"protocol","wc"),rT(this,"version",2)}}var rk=Object.defineProperty,rz=(e,t,i)=>t in e?rk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,r$=(e,t,i)=>rz(e,"symbol"!=typeof t?t+"":t,i);class rL extends rN.q{constructor(e,t){super(),this.core=e,this.logger=t,r$(this,"records",new Map)}}class rD{constructor(e,t){this.logger=e,this.core=t}}class rU extends rN.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class rB extends rN.q{constructor(e){super()}}class rV{constructor(e,t,i,r){this.core=e,this.logger=t,this.name=i}}class rK extends rN.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class rH extends rN.q{constructor(e,t){super(),this.core=e,this.logger=t}}class rF{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}}class rJ{constructor(e,t){this.projectId=e,this.logger=t}}class rG{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}}var rW=Object.defineProperty,rZ=(e,t,i)=>t in e?rW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,rQ=(e,t,i)=>rZ(e,"symbol"!=typeof t?t+"":t,i);class rY{constructor(e){this.opts=e,rQ(this,"protocol","wc"),rQ(this,"version",2)}}class rX{constructor(e){this.client=e}}var r0=i(33469),r1=i(21861),r2=i(1840),r6=i(31167),r3=i(14227),r8=i.n(r3);let r4="core",r5=`wc@2:${r4}:`,r9={logger:"error"},r7={database:":memory:"},se="client_ed25519_seed",st=R.ONE_DAY,si=R.SIX_HOURS,sr="wss://relay.walletconnect.org",ss={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"},sn={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},sa="2.19.0",so={link_mode:"link_mode",relay:"relay"},sc="WALLETCONNECT_LINK_MODE_APPS",sh={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},sd=1e3*R.FIVE_SECONDS,sl={wc_pairingDelete:{req:{ttl:R.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:R.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:R.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:R.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:R.ONE_DAY,prompt:!1,tag:0},res:{ttl:R.ONE_DAY,prompt:!1,tag:0}}},su={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},sf={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},sp={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},sg="https://verify.walletconnect.org",sb=`${sg}/v3`,sm=["https://verify.walletconnect.com",sg],sy={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal"},sv={no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_listener_not_found:"proposal_listener_not_found"},sw={session_approve_started:"session_approve_started",session_namespaces_validation_success:"session_namespaces_validation_success",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},s_={no_internet_connection:"no_internet_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},sI={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"}
10,sS={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"};var sE=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var i=new Uint8Array(256),r=0;r<i.length;r++)i[r]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),a=n.charCodeAt(0);if(255!==i[a])throw TypeError(n+" is ambiguous");i[a]=s}var o=e.length,c=e.charAt(0),h=Math.log(o)/Math.log(256),d=Math.log(256)/Math.log(o);function l(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var r=0,s=0;e[t]===c;)r++,t++;for(var n=(e.length-t)*h+1>>>0,a=new Uint8Array(n);e[t];){var d=i[e.charCodeAt(t)];if(255===d)return;for(var l=0,u=n-1;(0!==d||l<s)&&-1!==u;u--,l++)d+=o*a[u]>>>0,a[u]=d%256>>>0,d=d/256>>>0;if(0!==d)throw Error("Non-zero carry");s=l,t++}if(" "!==e[t]){for(var f=n-s;f!==n&&0===a[f];)f++;for(var p=new Uint8Array(r+(n-f)),g=r;f!==n;)p[g++]=a[f++];return p}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var i=0,r=0,s=0,n=t.length;s!==n&&0===t[s];)s++,i++;for(var a=(n-s)*d+1>>>0,h=new Uint8Array(a);s!==n;){for(var l=t[s],u=0,f=a-1;(0!==l||u<r)&&-1!==f;f--,u++)l+=256*h[f]>>>0,h[f]=l%o>>>0,l=l/o>>>0;if(0!==l)throw Error("Non-zero carry");r=u,s++}for(var p=a-r;p!==a&&0===h[p];)p++;for(var g=c.repeat(i);p<a;++p)g+=e.charAt(h[p]);return g},decodeUnsafe:l,decode:function(e){var i=l(e);if(i)return i;throw Error(`Non-${t} character`)}}};let sP=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},sM=e=>new TextEncoder().encode(e),sx=e=>
10new TextDecoder().decode(e);class sA{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class sO{constructor(e,t,i){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return sN(this,e)}}class sR{constructor(e){this.decoders=e}or(e){return sN(this,e)}decode(e){let t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let sN=(e,t)=>new sR({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class sq{constructor(e,t,i,r){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=r,this.encoder=new sA(e,t,i),this.decoder=new sO(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let sC=({name:e,prefix:t,encode:i,decode:r})=>new sq(e,t,i,r),sT=({prefix:e,name:t,alphabet:i})=>{let{encode:r,decode:s}=sE(i,t);return sC({prefix:e,name:t,encode:r,decode:e=>sP(s(e))})},sj=(e,t,i,r)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let a=new Uint8Array(n*i/8|0),o=0,c=0,h=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${r} character`);c=c<<i|n,(o+=i)>=8&&(o-=8,a[h++]=255&c>>o)}if(o>=i||255&c<<8-o)throw SyntaxError("Unexpected end of data");return a},sk=(e,t,i)=>{let r="="===t[t.length-1],s=(1<<i)-1,n="",a=0,o=0;for(let r=0;r<e.length;++r)for(o=o<<8|e[r],a+=8;a>i;)a-=i,n+=t[s&o>>a];if(a&&(n+=t[s&o<<i-a]),r)for(;n.length*i&7;)n+="=";return n},sz=({name:e,prefix:t,bitsPerChar:i,alphabet:r})=>sC({prefix:t,name:e,encode:e=>sk(e,r,i),decode:t=>sj(t,r,i,e)});var s$=Object.freeze({__proto__:null,identity:sC({prefix:"\0",name:"identity",encode:e=>sx(e),decode:e=>sM(e)})}),sL=Object.freeze({__proto__:null,base2:sz({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),sD=Object.freeze({__proto__:null,base8:sz({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),sU=Object.freeze({__proto__:null,base10:sT({prefix:"9",name:"base10",alphabet:"0123456789"})}),sB=Object.freeze({__proto__:null,base16:sz({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:sz({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let sV=sz({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),sK=sz({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),sH=sz({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),sF=sz({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),sJ=sz({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sG=sz({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var sW=Object.freeze({__proto__:null,base32:sV,base32upper:sK,base32pad:sH,base32padupper:sF,base32hex:sJ,base32hexupper:sG,base32hexpad:sz({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:sz({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:sz({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),sZ=Object.freeze({__proto__:null,base36:sT({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:sT({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),sQ=Object.freeze({__proto__:null,base58btc:sT({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:sT({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let sY=sz({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
10+/",bitsPerChar:6});var sX=Object.freeze({__proto__:null,base64:sY,base64pad:sz({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:sz({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:sz({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let s0=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),s1=s0.reduce((e,t,i)=>(e[i]=t,e),[]),s2=s0.reduce((e,t,i)=>(e[t.codePointAt(0)]=i,e),[]);var s6=Object.freeze({__proto__:null,base256emoji:sC({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=s1[t],"")},decode:function(e){let t=[];for(let i of e){let e=s2[i.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${i}`);t.push(e)}return new Uint8Array(t)}})});function s3(e,t){var i,r=0,t=t||0,s=0,n=t,a=e.length;do{if(n>=a)throw s3.bytes=0,RangeError("Could not decode varint");i=e[n++],r+=s<28?(127&i)<<s:(127&i)*Math.pow(2,s),s+=7}while(i>=128);return s3.bytes=n-t,r}var s8=function e(t,i,r){i=i||[],r=r||0;for(var s=r;t>=2147483648;)i[r++]=255&t|128,t/=128;for(;-128&t;)i[r++]=255&t|128,t>>>=7;return i[r]=0|t,e.bytes=r-s+1,i};let s4=(e,t,i=0)=>(s8(e,t,i),t),s5=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,s9=(e,t)=>{let i=t.byteLength,r=s5(e),s=r+s5(i),n=new Uint8Array(s+i);return s4(e,n,0),s4(i,n,r),n.set(t,s),new s7(e,i,t,n)};
10class s7{constructor(e,t,i,r){this.code=e,this.size=t,this.digest=i,this.bytes=r}}let ne=({name:e,code:t,encode:i})=>new nt(e,t,i);class nt{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?s9(this.code,t):t.then(e=>s9(this.code,e))}throw Error("Unknown type, must be binary type")}}let ni=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var nr=Object.freeze({__proto__:null,sha256:ne({name:"sha2-256",code:18,encode:ni("SHA-256")}),sha512:ne({name:"sha2-512",code:19,encode:ni("SHA-512")})}),ns=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:sP,digest:e=>s9(0,sP(e))}});new TextEncoder,new TextDecoder;let nn={...s$,...sL,...sD,...sU,...sB,...sW,...sZ,...sQ,...sX,...s6};function na(e,t,i,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:i},decoder:{decode:r}}}({...nr,...ns});let no=na("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),nc=na("ascii","a",e=>{let t="a";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},e=>{let t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}((e=e.substring(1)).length);for(let i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}),nh={utf8:no,"utf-8":no,hex:nn.base16,latin1:nc,ascii:nc,binary:nc,...nn};var nd=Object.defineProperty,nl=(e,t,i)=>t in e?nd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nu=(e,t,i)=>nl(e,"symbol"!=typeof t?t+"":t,i);class nf{constructor(e,t){this.core=e,this.logger=t,nu(this,"keychain",new Map),nu(this,"name","keychain"),nu(this,"version","0.3"),nu(this,"initialized",!1),nu(this,"storagePrefix",r5),nu(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),nu(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),nu(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),nu(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=rc("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),nu(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,rR.Ep)(t,this.name)}get context(){return(0,rR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,eC(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eT(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var np=Object.defineProperty,ng=(e,t,i)=>t in e?np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nb=(e,t,i)=>ng(e,"symbol"!=typeof t?t+"":t,i);class nm{constructor(e,t,i){this.core=e,this.logger=t,nb(this,"name","crypto"),nb(this,"keychain"),nb(this,"randomSessionIdentifier",iX()),nb(this,"initialized",!1),nb(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),nb(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),nb(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=eo.Au(e);return eo.bG(t.publicKey)}),nb(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=iJ.utils.randomPrivateKey(),t=iJ.getPublicKey(e);return{privateKey:eb(e,iW),publicKey:eb(t,iW)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),nb(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),i=eo.Au(t),r=this.randomSessionIdentifier;return await eo.vf(r,e,st,i)}),nb(this,"generateSharedKey",(e,t,i)=>{var r;this.isInitialized();let s=(r=this.getPrivateKey(e),eb(im(iS,iJ.getSharedSecret(eg(r,iW),eg(t,iW)),void 0,void 0,32),iW));return this.setSymKey(s,i)}),nb(this,"setSymKey",async(e,t)=>{this.isInitialized();let i=t||i0(e);return await this.keychain.set(i,e),i}),nb(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),nb(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),nb(this,"encode",async(e,t,i)=>{this.isInitialized();let r=i8(i),s=(0,r0.u)(t);if(2===r.type)return function(e,t){let i=eg("2",iG),r=ts(12);return i6({type:i,sealed:eg(e,iY),iv:r,encoding:t})}(s,i?.encoding);
10if(i4(r)){let t=r.senderPublicKey,i=r.receiverPublicKey;e=await this.generateSharedKey(t,i)}let n=this.getSymKey(e),{type:a,senderPublicKey:o}=r;return function(e){var t;let i=(t="u">typeof e.type?e.type:0,eg(`${t}`,iG));if(1===i2(i)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let r="u">typeof e.senderPublicKey?eg(e.senderPublicKey,iW):void 0,s="u">typeof e.iv?eg(e.iv,iW):ts(12);return i6({type:i,sealed:il(eg(e.symKey,iW),s).encrypt(eg(e.message,iY)),iv:s,senderPublicKey:r,encoding:e.encoding})}({type:a,symKey:n,message:s,senderPublicKey:o,encoding:i?.encoding})}),nb(this,"decode",async(e,t,i)=>{this.isInitialized();let r=function(e,t){let i=i3({encoded:e,encoding:t?.encoding});return i8({type:i2(i.type),senderPublicKey:"u">typeof i.senderPublicKey?eb(i.senderPublicKey,iW):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,i);if(2===r.type){let e=function(e,t){let{sealed:i}=i3({encoded:e,encoding:t});return eb(i,iY)}(t,i?.encoding);return(0,r0.D)(e)}if(i4(r)){let t=r.receiverPublicKey,i=r.senderPublicKey;e=await this.generateSharedKey(t,i)}try{let r=this.getSymKey(e),s=function(e){let t=eg(e.symKey,iW),{sealed:i,iv:r}=i3(e),s=il(t,r).decrypt(i);if(null===s)throw Error("Failed to decrypt");return eb(s,iY)}({symKey:r,encoded:t,encoding:i?.encoding});return(0,r0.D)(s)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),nb(this,"getPayloadType",(e,t=iZ)=>i2(i3({encoded:e,encoding:t}).type)),nb(this,"getPayloadSenderPublicKey",(e,t=iZ)=>{let i=i3({encoded:e,encoding:t});return i.senderPublicKey?eb(i.senderPublicKey,iW):void 0}),this.core=e,this.logger=(0,rR.Ep)(t,this.name),this.keychain=i||new nf(this.core,this.logger)}get context(){return(0,rR.Fd)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(se)}catch{e=iX(),await this.keychain.set(se,e)}return function(e,t="utf8"){let i=nh[t];if(!i)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):i.decoder.decode(`${i.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var ny=Object.defineProperty,nv=(e,t,i)=>t in e?ny(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nw=(e,t,i)=>nv(e,"symbol"!=typeof t?t+"":t,i);class n_ extends rD{constructor(e,t){super(e,t),this.logger=e,this.core=t,nw(this,"messages",new Map),nw(this,"name","messages"),nw(this,"version","0.3"),nw(this,"initialized",!1),nw(this,"storagePrefix",r5),nw(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{let e=await this.getRelayerMessages();"u">typeof e&&(this.messages=e),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),nw(this,"set",async(e,t)=>{this.isInitialized();let i=i1(t),r=this.messages.get(e);return typeof r>"u"&&(r={}),"u">typeof r[i]||(r[i]=t,this.messages.set(e,r),await this.persist()),i}),nw(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),nw(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[i1(t)])),nw(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),await this.persist()}),this.logger=(0,rR.Ep)(e,this.name),this.core=t}get context(){return(0,rR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,eC(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eT(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var nI=Object.defineProperty,nS=Object.defineProperties,nE=Object.getOwnPropertyDescriptors,nP=Object.getOwnPropertySymbols,nM=Object.prototype.hasOwnProperty,nx=Object.prototype.propertyIsEnumerable,nA=(e,t,i)=>t in e?nI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nO=(e,t)=>
10{for(var i in t||(t={}))nM.call(t,i)&&nA(e,i,t[i]);if(nP)for(var i of nP(t))nx.call(t,i)&&nA(e,i,t[i]);return e},nR=(e,t)=>nS(e,nE(t)),nN=(e,t,i)=>nA(e,"symbol"!=typeof t?t+"":t,i);class nq extends rU{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,nN(this,"events",new x.EventEmitter),nN(this,"name","publisher"),nN(this,"queue",new Map),nN(this,"publishTimeout",(0,R.toMiliseconds)(R.ONE_MINUTE)),nN(this,"initialPublishTimeout",(0,R.toMiliseconds)(15*R.ONE_SECOND)),nN(this,"needsTransportRestart",!1),nN(this,"publish",async(e,t,i)=>{var r;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:i}});let s=i?.ttl||si,n=i5(i),a=i?.prompt||!1,o=i?.tag||0,c=i?.id||(0,r2.getBigIntRpcId)().toString(),h={topic:e,message:t,opts:{ttl:s,relay:n,prompt:a,tag:o,id:c,attestation:i?.attestation,tvf:i?.tvf}},d=`Failed to publish payload, please try again. id:${c} tag:${o}`;try{let r=new Promise(async r=>{let n=({id:e})=>{h.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(ss.publish,n),r(h))};this.relayer.events.on(ss.publish,n);let d=ek(new Promise((r,n)=>{this.rpcPublish({topic:e,message:t,ttl:s,prompt:a,tag:o,id:c,attestation:i?.attestation,tvf:i?.tvf}).then(r).catch(e=>{this.logger.warn(e,e?.message),n(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${o}`);try{await d,this.events.removeListener(ss.publish,n)}catch(e){this.queue.set(c,nR(nO({},h),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:i}}),await ek(r,this.publishTimeout,d)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(r=i?.internal)&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),nN(this,"on",(e,t)=>{this.events.on(e,t)}),nN(this,"once",(e,t)=>{this.events.once(e,t)}),nN(this,"off",(e,t)=>{this.events.off(e,t)}),nN(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,rR.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,rR.Fd)(this.logger)}async rpcPublish(e){var t,i,r,s;let{topic:n,message:a,ttl:o=si,prompt:c,tag:h,id:d,attestation:l,tvf:u}=e,f={method:i9(i5().protocol).publish,params:nO({topic:n,message:a,ttl:o,prompt:c,tag:h,attestation:l},u),id:d};ru(null==(t=f.params)?void 0:t.prompt)&&(null==(i=f.params)||delete i.prompt),ru(null==(r=f.params)?void 0:r.tag)&&(null==(s=f.params)||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:f});let p=await this.relayer.request(f);return this.relayer.events.emit(ss.publish,e),this.logger.debug("Successfully Published Payload"),p}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let i=e.attempt+1;this.queue.set(t,nR(nO({},e),{attempt:i}));let{topic:r,message:s,opts:n,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(nR(nO({},e),{topic:r,message:s,ttl:n.ttl,prompt:n.prompt,tag:n.tag,id:n.id,attestation:a,tvf:n.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(rA.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(ss.connection_stalled);return}this.checkQueue()}),this.relayer.on(ss.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var nC=Object.defineProperty,nT=(e,t,i)=>t in e?nC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nj=(e,t,i)=>nT(e,"symbol"!=typeof t?t+"":t,i);class nk{constructor(){nj(this,"map",new Map),nj(this,"set",(e,t)=>{let i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),nj(this,"get",e=>this.map.get(e)||[]),nj(this,"exists",(e,t)=>this.get(e).includes(t)),nj(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let i=this.get(e);if(!this.exists(e,t))return;let r=i.filter(e=>e!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),nj(this,"clear",()=>{this.map.clear()})}
10get topics(){return Array.from(this.map.keys())}}var nz=Object.defineProperty,n$=Object.defineProperties,nL=Object.getOwnPropertyDescriptors,nD=Object.getOwnPropertySymbols,nU=Object.prototype.hasOwnProperty,nB=Object.prototype.propertyIsEnumerable,nV=(e,t,i)=>t in e?nz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nK=(e,t)=>{for(var i in t||(t={}))nU.call(t,i)&&nV(e,i,t[i]);if(nD)for(var i of nD(t))nB.call(t,i)&&nV(e,i,t[i]);return e},nH=(e,t)=>n$(e,nL(t)),nF=(e,t,i)=>nV(e,"symbol"!=typeof t?t+"":t,i);class nJ extends rK{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,nF(this,"subscriptions",new Map),nF(this,"topicMap",new nk),nF(this,"events",new x.EventEmitter),nF(this,"name","subscription"),nF(this,"version","0.3"),nF(this,"pending",new Map),nF(this,"cached",[]),nF(this,"initialized",!1),nF(this,"pendingSubscriptionWatchLabel","pending_sub_watch_label"),nF(this,"pollingInterval",20),nF(this,"storagePrefix",r5),nF(this,"subscribeTimeout",(0,R.toMiliseconds)(R.ONE_MINUTE)),nF(this,"initialSubscribeTimeout",(0,R.toMiliseconds)(15*R.ONE_SECOND)),nF(this,"clientId"),nF(this,"batchSubscribeTopicsLimit",500),nF(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),nF(this,"subscribe",async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{let i=i5(t),r={topic:e,relay:i,transportType:t?.transportType};this.pending.set(e,r);let s=await this.rpcSubscribe(e,i,t);return"string"==typeof s&&(this.onSubscribe(s,r),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),s}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),nF(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),nF(this,"isSubscribed",async e=>{if(this.topics.includes(e))return!0;let t=`${this.pendingSubscriptionWatchLabel}_${e}`;return await new Promise((i,r)=>{let s=new R.Watch;s.start(t);let n=setInterval(()=>{(!this.pending.has(e)&&this.topics.includes(e)||this.cached.some(t=>t.topic===e))&&(clearInterval(n),s.stop(t),i(!0)),s.elapsed(t)>=sd&&(clearInterval(n),s.stop(t),r(Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)}),nF(this,"on",(e,t)=>{this.events.on(e,t)}),nF(this,"once",(e,t)=>{this.events.once(e,t)}),nF(this,"off",(e,t)=>{this.events.off(e,t)}),nF(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),nF(this,"start",async()=>{await this.onConnect()}),nF(this,"stop",async()=>{await this.onDisconnect()}),nF(this,"restart",async()=>{await this.restore(),await this.onRestart()}),nF(this,"checkPending",async()=>{if(0===this.pending.size&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),nF(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(rA.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(sh.created,async e=>{let t=sh.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(sh.deleted,async e=>{let t=sh.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,rR.Ep)(t,this.name),this.clientId=""}get context(){return(0,rR.Fd)(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}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let i=this.topicMap.get(e);await Promise.all(i.map(async i=>await this.unsubscribeById(e,i,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{let r=i5(i);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let s=rh("USER_DISCONNECTED",`${this.name}, ${e}`);
10await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,i){var r;i&&i?.transportType!==so.relay||await this.restartToComplete({topic:e,id:e,relay:t});let s={method:i9(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});let n=null==(r=i?.internal)?void 0:r.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(i?.transportType===so.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(e=>this.logger.warn(e))},(0,R.toMiliseconds)(R.ONE_SECOND)),t;let r=new Promise(async t=>{let i=r=>{r.topic===e&&(this.events.removeListener(sh.created,i),t(r.id))};this.events.on(sh.created,i);try{let r=await ek(new Promise((e,t)=>{this.relayer.request(s).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(sh.created,i),t(r)}catch{}}),a=await ek(r,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&n)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ss.connection_stalled),n)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:i9(e[0].relay.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{await await ek(new Promise(e=>{this.relayer.request(t).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(ss.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let i={method:i9(e[0].relay.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{t=await await ek(new Promise((e,t)=>{this.relayer.request(i).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(ss.connection_stalled)}return t}rpcUnsubscribe(e,t,i){let r={method:i9(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r}),this.relayer.request(r)}onSubscribe(e,t){this.setSubscription(e,nH(nK({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,nK({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,nK({},t)),this.topicMap.set(t.topic,e),this.events.emit(sh.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=rc("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});let i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(sh.deleted,nH(nK({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(sh.sync)}
10async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(sh.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=rc("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>nH(nK({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){var t;if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let i=await this.rpcBatchFetchMessages(e);i&&i.messages&&(await (t=(0,R.toMiliseconds)(R.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(i.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}async restartToComplete(e){this.relayer.connected||this.relayer.connecting||(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return i1(e+await this.getClientId())}}var nG=Object.defineProperty,nW=Object.getOwnPropertySymbols,nZ=Object.prototype.hasOwnProperty,nQ=Object.prototype.propertyIsEnumerable,nY=(e,t,i)=>t in e?nG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,nX=(e,t)=>{for(var i in t||(t={}))nZ.call(t,i)&&nY(e,i,t[i]);if(nW)for(var i of nW(t))nQ.call(t,i)&&nY(e,i,t[i]);return e},n0=(e,t,i)=>nY(e,"symbol"!=typeof t?t+"":t,i);class n1 extends rB{constructor(e){super(e),n0(this,"protocol","wc"),n0(this,"version",2),n0(this,"core"),n0(this,"logger"),n0(this,"events",new x.EventEmitter),n0(this,"provider"),n0(this,"messages"),n0(this,"subscriber"),n0(this,"publisher"),n0(this,"name","relayer"),n0(this,"transportExplicitlyClosed",!1),n0(this,"initialized",!1),n0(this,"connectionAttemptInProgress",!1),n0(this,"relayUrl"),n0(this,"projectId"),n0(this,"packageName"),n0(this,"bundleId"),n0(this,"hasExperiencedNetworkDisruption",!1),n0(this,"pingTimeout"),n0(this,"heartBeatTimeout",(0,R.toMiliseconds)(R.THIRTY_SECONDS+R.FIVE_SECONDS)),n0(this,"reconnectTimeout"),n0(this,"connectPromise"),n0(this,"reconnectInProgress",!1),n0(this,"requestsInFlight",[]),n0(this,"connectTimeout",(0,R.toMiliseconds)(15*R.ONE_SECOND)),n0(this,"request",async e=>{var t,i;this.logger.debug("Publishing Request Payload");let r=e.id||(0,r2.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:r,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let s=`${r}:${(null==(i=e.params)?void 0:i.tag)||""}`;this.requestsInFlight.push(s);let n=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==s),n}catch(e){throw this.logger.debug(`Failed to Publish Request: ${r}`),e}}),n0(this,"resetPingTimeout",()=>{if(eP())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,i;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)||i.terminate()},this.heartBeatTimeout)}catch(e){this.logger.warn(e,e?.message)}}),n0(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),n0(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(ss.
10connect)}),n0(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),n0(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(ss.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),n0(this,"registerProviderListeners",()=>{this.provider.on(sn.payload,this.onPayloadHandler),this.provider.on(sn.connect,this.onConnectHandler),this.provider.on(sn.disconnect,this.onDisconnectHandler),this.provider.on(sn.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,rR.Ep)(e.logger,this.name):(0,rR.gw)((0,rR.jI)({level:e.logger||"error"})),this.messages=new n_(this.logger,e.core),this.subscriber=new nJ(this,this.logger),this.publisher=new nq(this,this.logger),this.relayUrl=e?.relayUrl||sr,this.projectId=e.projectId,eM()&&"u">typeof i.g&&"u">typeof(null==i.g?void 0:i.g.Platform)&&(null==i.g?void 0:i.g.Platform.OS)==="android"?this.packageName=eO():eM()&&"u">typeof i.g&&"u">typeof(null==i.g?void 0:i.g.Platform)&&(null==i.g?void 0:i.g.Platform.OS)==="ios"&&(this.bundleId=eO()),this.provider={}}
10async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return(0,rR.Fd)(this.logger)}get connected(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===1}get connecting(){var e,t,i;return(null==(i=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:i.readyState)===0||void 0!==this.connectPromise}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:so.relay})}async subscribe(e,t){var i,r,s;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let n=typeof(null==(i=t?.internal)?void 0:i.throwOnFailedPublish)>"u"||(null==(r=t?.internal)?void 0:r.throwOnFailedPublish),a=(null==(s=this.subscriber.topicMap.get(e))?void 0:s[0])||"",o,c=t=>{t.topic===e&&(this.subscriber.off(sh.created,c),o())};return await Promise.all([new Promise(e=>{o=e,this.subscriber.on(sh.created,c)}),new Promise(async(i,r)=>{a=await this.subscriber.subscribe(e,nX({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&r(e)})||a,i()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await ek(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await rE())throw Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);for(let e of(this.logger.debug(`Batch of ${t.length} message events sorted`),t))try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:i}=e;if(!t.sessionExists){let e=eL(R.FIVE_MINUTES);await this.core.pairing.pairings.set(i,{topic:i,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(ss.message,e),await this.recordMessageEvent(e)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let i=()=>{t(Error("Connection interrupted while trying to subscribe"))};
10this.provider.once(sn.disconnect,i),await ek(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(sn.disconnect,i),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let i=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(sn.disconnect,i),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(sn.disconnect,i)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop(),this.logger.warn({},e.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,R.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,i,r,s;if(eP())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(s=null==(r=null==(i=this.provider)?void 0:i.connection)?void 0:r.socket)||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new r1.r(new r6.Z(function({protocol:e,version:t,relayUrl:i,sdkVersion:r,auth:s,projectId:n,useOnCloseEvent:a,bundleId:o,packageName:c}){let h=i.split("?"),d=eN(e,t,r),l=function(e,t){let i=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let r=t[e];void 0!==r&&i.set(e,r)}return i.toString()}(h[1]||"",{auth:s,ua:d,projectId:n,useOnCloseEvent:a||void 0,packageName:c||void 0,bundleId:o||void 0});return h[0]+"?"+l}({sdkVersion:sa,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e){let{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){let{topic:t,message:i}=e;if(!i||0===i.length)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.warn(`Ignoring message for non-subscribed topic ${t}`),!0;let r=this.messages.has(t,i);return r&&this.logger.warn(`Ignoring duplicate message: ${i}`),r}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,r2.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:i,message:r,publishedAt:s,attestation:n}=t.data,a={topic:i,message:r,publishedAt:s,transportType:so.relay,attestation:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(nX({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else(0,r2.isJsonRpcResponse)(e)&&this.events.emit(ss.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(ss.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){let t=(0,r2.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(sn.payload,this.onPayloadHandler),this.provider.off(sn.connect,this.onConnectHandler),this.provider.off(sn.disconnect,this.onDisconnectHandler),this.provider.off(sn.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await rE();!function(e){switch(eA()){case eE.browser:!eM()&&ex()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case eE.reactNative:eM()&&"u">typeof i.g&&null!=i.g&&i.g.NetInfo&&i.g?.NetInfo.addEventListener(t=>e(t?.isConnected));case eE.node:}}(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(ss.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,R.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),this.connected||await this.connect()}}var n2=Object.defineProperty,n6=Object.getOwnPropertySymbols,n3=Object.prototype.hasOwnProperty,n8=Object.prototype.propertyIsEnumerable,n4=(e,t,i)=>t in e?n2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,n5=(e,t)=>{for(var i in t||(t={}))n3.call(t,i)&&n4(e,i,t[i]);if(n6)for(var i of n6(t))n8.call(t,i)&&n4(e,i,t[i]);return e},n9=(e,t,i)=>n4(e,"symbol"!=typeof t?t+"":t,i);
10class n7 extends rV{constructor(e,t,i,r=r5,s){super(e,t,i,r),this.core=e,this.logger=t,this.name=i,n9(this,"map",new Map),n9(this,"version","0.3"),n9(this,"cached",[]),n9(this,"initialized",!1),n9(this,"getKey"),n9(this,"storagePrefix",r5),n9(this,"recentlyDeleted",[]),n9(this,"recentlyDeletedLimit",200),n9(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{var t;this.getKey&&null!==e&&!ru(e)?this.map.set(this.getKey(e),e):(null==(t=e?.proposer)?void 0:t.publicKey)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),n9(this,"set",async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())}),n9(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),n9(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(i=>r8()(t[i],e[i]))):this.values)),n9(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let i=n5(n5({},this.getData(e)),t);this.map.set(e,i),await this.persist()}),n9(this,"delete",async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=(0,rR.Ep)(t,this.name),this.storagePrefix=r,this.getKey=s}get context(){return(0,rR.Fd)(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())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=rc("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=rc("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){let{message:e}=rc("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var ae=Object.defineProperty,at=(e,t,i)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ai=(e,t,i)=>at(e,"symbol"!=typeof t?t+"":t,i);class ar{constructor(e,t){this.core=e,this.logger=t,ai(this,"name","pairing"),ai(this,"version","0.3"),ai(this,"events",new(A())),ai(this,"pairings"),ai(this,"initialized",!1),ai(this,"storagePrefix",r5),ai(this,"ignoredPayloadTypes",[1]),ai(this,"registeredMethods",[]),ai(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ai(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),ai(this,"create",async e=>{this.isInitialized();let t=iX(),i=await this.core.crypto.setSymKey(t),r=eL(R.FIVE_MINUTES),s={protocol:"irn"},n={topic:i,expiry:r,relay:s,active:!1,methods:e?.methods},a=re({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:t,relay:s,expiryTimestamp:r,methods:e?.methods});return this.events.emit(su.create,n),this.core.expirer.set(i,r),await this.pairings.set(i,n),await this.core.relayer.subscribe(i,{transportType:e?.transportType}),{topic:i,uri:a}}),ai(this,"pair",async e=>{let t;this.isInitialized();let i=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[sy.pairing_started]}});this.isValidPair(e,i);let{topic:r,symKey:s,relay:n,expiryTimestamp:a,methods:o}=i7(e.uri);if(i.props.properties.topic=r,i.addTrace(sy.pairing_uri_validation_success),i.addTrace(sy.pairing_uri_not_expired),this.pairings.keys.includes(r)){if(t=this.pairings.get(r),i.addTrace(sy.existing_pairing),t.active)throw i.setError(sv.active_pairing_already_exists),Error(`Pairing already exists: ${r}. Please try again with a new connection URI.`);
10i.addTrace(sy.pairing_not_expired)}let c=a||eL(R.FIVE_MINUTES),h={topic:r,relay:n,expiry:c,active:!1,methods:o};this.core.expirer.set(r,c),await this.pairings.set(r,h),i.addTrace(sy.store_new_pairing),e.activatePairing&&await this.activate({topic:r}),this.events.emit(su.create,h),i.addTrace(sy.emit_inactive_pairing),this.core.crypto.keychain.has(r)||await this.core.crypto.setSymKey(s,r),i.addTrace(sy.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(sv.no_internet_connection)}try{await this.core.relayer.subscribe(r,{relay:n})}catch(e){throw i.setError(sv.subscribe_pairing_topic_failure),e}return i.addTrace(sy.subscribe_pairing_topic_success),h}),ai(this,"activate",async({topic:e})=>{this.isInitialized();let t=eL(R.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),ai(this,"ping",async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,"wc_pairingPing",{}),{done:i,resolve:r,reject:s}=ej();this.events.once(eU("pairing_ping",e),({error:e})=>{e?s(e):r()}),await i()}}),ai(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),ai(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),ai(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ai(this,"disconnect",async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",rh("USER_DISCONNECTED")),await this.deletePairing(t))}),ai(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:i,expiry:r,methods:s}=e,n=this.core.crypto.keychain.get(t);return re({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:n,relay:i,expiryTimestamp:r,methods:s})}),ai(this,"sendRequest",async(e,t,i)=>{let r=(0,r2.formatJsonRpcRequest)(t,i),s=await this.core.crypto.encode(e,r),n=sl[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,s,n),r.id}),ai(this,"sendResult",async(e,t,i)=>{let r=(0,r2.formatJsonRpcResult)(e,i),s=await this.core.crypto.encode(t,r),n=sl[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,s,n),await this.core.history.resolve(r)}),ai(this,"sendError",async(e,t,i)=>{let r=(0,r2.formatJsonRpcError)(e,i),s=await this.core.crypto.encode(t,r),n=(await this.core.history.get(t,e)).request.method,a=sl[n]?sl[n].res:sl.unregistered_method.res;await this.core.relayer.publish(t,s,a),await this.core.history.resolve(r)}),ai(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,rh("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),ai(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>eD(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),ai(this,"onRelayEventRequest",e=>{let{topic:t,payload:i}=e;switch(i.method){case"wc_pairingPing":return this.onPairingPingRequest(t,i);case"wc_pairingDelete":return this.onPairingDeleteRequest(t,i);default:return this.onUnknownRpcMethodRequest(t,i)}}),ai(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i}=e,r=(await this.core.history.get(t,i.id)).request.method;return"wc_pairingPing"===r?this.onPairingPingResponse(t,i):this.onUnknownRpcMethodResponse(r)}),ai(this,"onPairingPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult(i,e,!0),this.events.emit(su.ping,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),ai(this,"onPairingPingResponse",(e,t)=>{let{id:i}=t;setTimeout(()=>{(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("pairing_ping",i),{}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("pairing_ping",i),{error:t.error})},500)}),ai(this,"onPairingDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(su.delete,{id:i,topic:e})}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),ai(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:i,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=rh("WC_METHOD_UNSUPPORTED",r);await this.sendError(i,e,t),this.logger.error(t)}catch(t){await this.sendError(i,e,t),this.logger.error(t)}}),ai(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(rh("WC_METHOD_UNSUPPORTED",e))}),ai(this,"isValidPair",(e,t)=>{var i;if(!rw(e)){let{message:i}=rc("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(sv.malformed_pairing_uri),Error(i)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(rf(e,!1)){if(t(e))return!0;let i=eG(e);return t(i)}}catch{}return!1}(e.uri)){let{message:i}=rc("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(sv.malformed_pairing_uri),Error(i)}let r=i7(e?.uri);if(!(null!=(i=r?.relay)&&i.protocol)){let{message:e}=rc("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(sv.malformed_pairing_uri),Error(e)}if(!(null!=r&&r.symKey)){let{message:e}=rc("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(sv.malformed_pairing_uri),Error(e)}if(null!=r&&r.expiryTimestamp&&(0,R.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(sv.pairing_expired);let{message:e}=rc("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),ai(this,"isValidPing",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ai(this,"isValidDisconnect",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),ai(this,"isValidPairingTopic",async e=>{if(!rf(e,!1)){let{message:t}=rc("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=rc("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eD(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=rc("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,rR.Ep)(t,this.name),this.pairings=new n7(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,rR.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(ss.message,async e=>{let{topic:t,message:i,transportType:r}=e;if(!this.pairings.keys.includes(t)||r===so.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;let s=await this.core.crypto.decode(t,i);try{(0,r2.isJsonRpcRequest)(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):(0,r2.isJsonRpcResponse)(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(sp.expired,async e=>{let{topic:t}=e$(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(su.expire,{topic:t}))})}}var as=Object.defineProperty,an=(e,t,i)=>t in e?as(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aa=(e,t,i)=>an(e,"symbol"!=typeof t?t+"":t,i);class ao extends rL{constructor(e,t){super(e,t),this.core=e,this.logger=t,aa(this,"records",new Map),aa(this,"events",new x.EventEmitter),aa(this,"name","history"),aa(this,"version","0.3"),aa(this,"cac
10hed",[]),aa(this,"initialized",!1),aa(this,"storagePrefix",r5),aa(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),aa(this,"set",(e,t,i)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:i}),this.records.has(t.id))return;let r={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:i,expiry:eL(R.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(sf.created,r)}),aa(this,"resolve",async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,r2.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(sf.updated,t))}),aa(this,"get",async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t))),aa(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(i=>{i.topic!==e||"u">typeof t&&i.id!==t||(this.records.delete(i.id),this.events.emit(sf.deleted,i))}),this.persist()}),aa(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),aa(this,"on",(e,t)=>{this.events.on(e,t)}),aa(this,"once",(e,t)=>{this.events.once(e,t)}),aa(this,"off",(e,t)=>{this.events.off(e,t)}),aa(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,rR.Ep)(t,this.name)}get context(){return(0,rR.Fd)(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(){let e=[];return this.values.forEach(t=>{if("u">typeof t.response)return;let i={topic:t.topic,request:(0,r2.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=rc("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(sf.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=rc("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(sf.created,e=>{let t=sf.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sf.updated,e=>{let t=sf.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(sf.deleted,e=>{let t=sf.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(rA.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,R.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(sf.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var ac=Object.defineProperty,ah=(e,t,i)=>t in e?ac(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ad=(e,t,i)=>ah(e,"symbol"!=typeof t?t+"":t,i);class al extends rH{constructor(e,t){super(e,t),this.core=e,this.logger=t,ad(this,"expirations",new Map),ad(this,"events",new x.EventEmitter),ad(this,"name","expirer"),ad(this,"version","0.3"),ad(this,"cac
10hed",[]),ad(this,"initialized",!1),ad(this,"storagePrefix",r5),ad(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),ad(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),ad(this,"set",(e,t)=>{this.isInitialized();let i=this.formatTarget(e),r={target:i,expiry:t};this.expirations.set(i,r),this.checkExpiry(i,r),this.events.emit(sp.created,{target:i,expiration:r})}),ad(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),ad(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),i=this.getExpiration(t);this.expirations.delete(t),this.events.emit(sp.deleted,{target:t,expiration:i})}}),ad(this,"on",(e,t)=>{this.events.on(e,t)}),ad(this,"once",(e,t)=>{this.events.once(e,t)}),ad(this,"off",(e,t)=>{this.events.off(e,t)}),ad(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,rR.Ep)(t,this.name)}get context(){return(0,rR.Fd)(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(e){if("string"==typeof e)return ez("topic",e);if("number"==typeof e)return ez("id",e);let{message:t}=rc("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(sp.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=rc("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=rc("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:i}=t;(0,R.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(sp.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(rA.Lx.pulse,()=>this.checkExpirations()),this.events.on(sp.created,e=>{let t=sp.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sp.expired,e=>{let t=sp.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(sp.deleted,e=>{let t=sp.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}}var au=Object.defineProperty,af=(e,t,i)=>t in e?au(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ap=(e,t,i)=>af(e,"symbol"!=typeof t?t+"":t,i);class ag extends rF{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,ap(this,"name","verify-api"),ap(this,"abortController"),ap(this,"isDevEnv"),ap(this,"verifyUrlV3",sb),ap(this,"storagePrefix",r5),ap(this,"version",2),ap(this,"publicKey"),ap(this,"fetchPromise"),ap(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,R.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),ap(this,"register",async e=>{if(!ex()||this.isDevEnv)return;let t=window.location.origin,{id:i,decryptedId:r}=e,s=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${i}&decryptedId=${r}`;try{let e=(0,N.getDocument)(),t=this.startAbortTimer(5*R.ONE_SECOND),r=await new Promise((r,n)=>{let a=()=>{window.removeEventListener("message",c),e.body.removeChild(o),n("attestation aborted")};this.abortController.signal.addEventListener("abort",a);let o=e.createElement("iframe");o.src=s,o.style.display="none",o.addEventListener("error",a,{signal:this.abortController.signal});let c=s=>{if(s.data&&"string"==typeof s.data)try{let n=JSON.parse(s.data);if("verify_attestation"===n.type){if((0,eo.xp)(n.attestation).payload.id!==i)return;clearInterval(t),e.body.removeChild(o),this.abortController.signal.removeEventListener("abort",a),window.removeEventListener("message",c),r(null===n.attestation?"":n.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(o),window.addEventListener("message",c,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",r),r}catch(e){this.logger.warn(e)}return""}),ap(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:i,encryptedId:r}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,eo.xp)(t).payload.id!==r)return;let e=await this.isValidJwtAttestation(t);
10if(e){if(!e.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return e}}if(!i)return;let s=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(i,s)}),ap(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let i=this.startAbortTimer(5*R.ONE_SECOND),r=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(i),200===r.status?await r.json():void 0}),ap(this,"getVerifyUrl",e=>{let t=e||sg;return sm.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${sg}`),t=sg),t}),ap(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(R.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),ap(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),ap(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),ap(this,"isValidJwtAttestation",async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}let i=await this.fetchAndPersistPublicKey();try{if(i)return this.validateAttestation(e,i)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),ap(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),ap(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),ap(this,"validateAttestation",(e,t)=>{let i=function(e,t){let[i,r,s]=e.split("."),n=ew.from(function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=t.length%4;return i>0&&(t+="=".repeat(4-i)),t}(s),"base64");if(64!==n.length)throw Error("Invalid signature length");let a=n.slice(0,32).toString("hex"),o=n.slice(32,64).toString("hex"),c=iS(`${i}.${r}`),h=new em.ec("p256").keyFromPublic({x:ew.from(t.x,"base64").toString("hex"),y:ew.from(t.y,"base64").toString("hex")},"hex"),d=eb(c,iW);if(!h.verify(d,{r:a,s:o}))throw Error("Invalid signature");return(0,eo.xp)(e).payload}(e,t.publicKey),r={hasExpired:(0,R.toMiliseconds)(i.exp)<Date.now(),payload:i};if(r.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:r.payload.origin,isScam:r.payload.isScam,isVerified:r.payload.isVerified}}),this.logger=(0,rR.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=eJ(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,rR.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,R.toMiliseconds)(e))}}var ab=Object.defineProperty,am=(e,t,i)=>t in e?ab(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ay=(e,t,i)=>am(e,"symbol"!=typeof t?t+"":t,i);class av extends rJ{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,ay(this,"context","echo"),ay(this,"registerDeviceToken",async e=>{let{clientId:t,token:i,notificationType:r,enableEncrypted:s=!1}=e,n=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:r,token:i,always_raw:s})})}),this.logger=(0,rR.Ep)(t,this.context)}}var aw=Object.defineProperty,a_=Object.getOwnPropertySymbols,aI=Object.prototype.hasOwnProperty,aS=Object.prototype.propertyIsEnumerable,aE=(e,t,i)=>t in e?aw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aP=(e,t)=>
10{for(var i in t||(t={}))aI.call(t,i)&&aE(e,i,t[i]);if(a_)for(var i of a_(t))aS.call(t,i)&&aE(e,i,t[i]);return e},aM=(e,t,i)=>aE(e,"symbol"!=typeof t?t+"":t,i);class ax extends rG{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,aM(this,"context","event-client"),aM(this,"storagePrefix",r5),aM(this,"storageVersion",.1),aM(this,"events",new Map),aM(this,"shouldPersist",!1),aM(this,"init",async()=>{if(!eJ())try{let e={eventId:eF(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:eN(this.core.relayer.protocol,this.core.relayer.version,sa)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),aM(this,"createEvent",e=>{let{event:t="ERROR",type:i="",properties:{topic:r,trace:s}}=e,n=eF(),a=this.core.projectId||"",o=aP({eventId:n,timestamp:Date.now(),props:{event:t,type:i,properties:{topic:r,trace:s}},bundleId:a,domain:this.getAppDomain()},this.setMethods(n));return this.telemetryEnabled&&(this.events.set(n,o),this.shouldPersist=!0),o}),aM(this,"getEvent",e=>{let{eventId:t,topic:i}=e;if(t)return this.events.get(t);let r=Array.from(this.events.values()).find(e=>e.props.properties.topic===i);if(r)return aP(aP({},r),this.setMethods(r.eventId))}),aM(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),aM(this,"setEventListeners",()=>{this.core.heartbeat.on(rA.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,R.fromMiliseconds)(Date.now())-(0,R.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),aM(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),aM(this,"addTrace",(e,t)=>{let i=this.events.get(e);i&&(i.props.properties.trace.push(t),this.events.set(e,i),this.shouldPersist=!0)}),aM(this,"setError",(e,t)=>{let i=this.events.get(e);i&&(i.props.type=t,i.timestamp=Date.now(),this.events.set(e,i),this.shouldPersist=!0)}),aM(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),aM(this,"restore",async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,aP(aP({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),aM(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,i]of this.events)i.props.type&&e.push(i);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),aM(this,"sendEvent",async e=>{let t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${sa}${t}`,{method:"POST",body:JSON.stringify(e)})}),aM(this,"getAppDomain",()=>eR().url),this.logger=(0,rR.Ep)(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var aA=Object.defineProperty,aO=Object.getOwnPropertySymbols,aR=Object.prototype.hasOwnProperty,aN=Object.prototype.propertyIsEnumerable,aq=(e,t,i)=>t in e?aA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,aC=(e,t)=>{for(var i in t||(t={}))aR.call(t,i)&&aq(e,i,t[i]);if(aO)for(var i of aO(t))aN.call(t,i)&&aq(e,i,t[i]);return e},aT=(e,t,i)=>aq(e,"symbol"!=typeof t?t+"":t,i);class aj extends rj{constructor(e){var t;super(e),aT(this,"protocol","wc"),aT(this,"version",2),aT(this,"name",r4),aT(this,"relayUrl"),aT(this,"projectId"),aT(this,"customStoragePrefix"),aT(this,"events",new x.EventEmitter),aT(this,"logger"),aT(this,"heartbeat"),aT(this,"relayer"),aT(this,"crypto"),aT(this,"storage"),aT(this,"history"),aT(this,"expirer"),aT(this,"pairing"),aT(this,"verify"),aT(this,"echoClient"),aT(this,"linkModeSupportedApps"),aT(this,"eventClient"),aT(this,"initialized",!1),aT(this,"logChunkController"),aT(this,"on",(e,t)=>this.events.on(e,t)),aT(this,"once",(e,t)=>this.events.once(e,t)),aT(this,"off",(e,t)=>this.events.off(e,t)),aT(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),aT(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:i})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:so.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:i})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||sr,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let i=(0,rR.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:r9.logger,name:r4}),{logger:r,chunkLoggerController:s}=(0,rR.Rt)({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=s,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,rR.Ep)(r,this.name),this.heartbeat=new rA.C$,this.crypto=new nm(this,this.logger,e?.keychain),this.history=new ao(this,this.logger),this.expirer=new al(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new rO.Z(aC(aC({},r7),e?.storageOptions)),this.relayer=new n1({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new ar(this,this.logger),this.verify=new ag(this,this.logger,this.storage),this.echoClient=new av(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new ax(this,this.logger,e?.telemetryEnabled)}static async init(e){let t=new aj(e);await t.initialize();let i=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",i),t}get context(){return(0,rR.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(sc,this.linkModeSupportedApps))}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(
10),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(sc)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}let ak="client",az=`wc@2:${ak}:`,a$={name:ak,logger:"error"},aL="WALLETCONNECT_DEEPLINK_CHOICE",aD="Proposal expired",aU=R.SEVEN_DAYS,aB={wc_sessionPropose:{req:{ttl:R.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:R.ONE_DAY,prompt:!1,tag:1104},res:{ttl:R.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:R.ONE_DAY,prompt:!1,tag:1106},res:{ttl:R.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:R.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:R.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:R.ONE_DAY,prompt:!1,tag:1112},res:{ttl:R.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:R.ONE_DAY,prompt:!1,tag:1114},res:{ttl:R.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:R.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:R.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:R.FIVE_MINUTES,prompt:!1,tag:1119}}},aV={min:R.FIVE_MINUTES,max:R.SEVEN_DAYS},aK={idle:"IDLE",active:"ACTIVE"},aH={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},aF=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],aJ="[email protected]:auth:",aG=`${aJ}:PUB_KEY`;var aW=Object.defineProperty,aZ=Object.defineProperties,aQ=Object.getOwnPropertyDescriptors,aY=Object.getOwnPropertySymbols,aX=Object.prototype.hasOwnProperty,a0=Object.prototype.propertyIsEnumerable,a1=(e,t,i)=>t in e?aW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,a2=(e,t)=>{for(var i in t||(t={}))aX.call(t,i)&&a1(e,i,t[i]);if(aY)for(var i of aY(t))a0.call(t,i)&&a1(e,i,t[i]);return e},a6=(e,t)=>aZ(e,aQ(t)),a3=(e,t,i)=>a1(e,"symbol"!=typeof t?t+"":t,i);class a8 extends rX{constructor(e){super(e),a3(this,"name","engine"),a3(this,"events",new(A())),a3(this,"initialized",!1),a3(this,"requestQueue",{state:aK.idle,queue:[]}),a3(this,"sessionRequestQueue",{state:aK.idle,queue:[]}),a3(this,"requestQueueDelay",R.ONE_SECOND),a3(this,"expectedPairingMethodMap",new Map),a3(this,"recentlyDeletedMap",new Map),a3(this,"recentlyDeletedLimit",200),a3(this,"relayMessageCache",[]),a3(this,"pendingSessions",new Map),a3(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(aB)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,R.toMiliseconds)(this.requestQueueDelay)))}),a3(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=a6(a2({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);let{pairingTopic:i,requiredNamespaces:r,optionalNamespaces:s,sessionProperties:n,relays:a}=t,o=i,c,h=!1;try{if(o){let e=this.client.core.pairing.pairings.get(o);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),h=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${o}) failed`),e}if(!o||!h){let{topic:e,uri:t}=await this.client.core.pairing.create();o=e,c=t}if(!o){let{message:e}=rc("NO_MATCHING_KEY",`connect() pairing topic: ${o}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),l=aB.wc_sessionPropose.req.ttl||R.FIVE_MINUTES,u=eL(l),f=a6(a2({requiredNamespaces:r,optionalNamespaces:s,relays:a??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:u,pairingTopic:o},n&&{sessionProperties:n}),{id:(0,r2.payloadId)()}),p=eU("session_connect",f.id),{reject:g,resolve:b,done:m}=ej(l,aD),y=({id:e})=>{e===f.id&&(this.client.events.off("proposal_expire",y),this.pendingSessions.delete(f.id),this.events.emit(p,{error:{message:aD,c
10ode:0}}))};return this.client.events.on("proposal_expire",y),this.events.once(p,({error:e,session:t})=>{this.client.events.off("proposal_expire",y),e?g(e):t&&b(t)}),await this.sendRequest({topic:o,method:"wc_sessionPropose",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:c,approval:m}}),a3(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}}),a3(this,"approve",async e=>{var t,i,r;let s=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[sw.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw s.setError(s_.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),s.setError(s_.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),s.setError(s_.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:a,namespaces:o,sessionProperties:c,sessionConfig:h}=e,d=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:s.eventId});let{pairingTopic:l,proposer:u,requiredNamespaces:f,optionalNamespaces:p}=d,g=null==(i=this.client.core.eventClient)?void 0:i.getEvent({topic:l});g||(g=null==(r=this.client.core.eventClient)?void 0:r.createEvent({type:sw.session_approve_started,properties:{topic:l,trace:[sw.session_approve_started,sw.session_namespaces_validation_success]}}));let b=await this.client.core.crypto.generateKeyPair(),m=u.publicKey,y=await this.client.core.crypto.generateSharedKey(b,m),v=a2(a2({relay:{protocol:a??"irn"},namespaces:o,controller:{publicKey:b,metadata:this.client.metadata},expiry:eL(aU)},c&&{sessionProperties:c}),h&&{sessionConfig:h}),w=so.relay;g.addTrace(sw.subscribing_session_topic);try{await this.client.core.relayer.subscribe(y,{transportType:w})}catch(e){throw g.setError(s_.subscribe_session_topic_failure),e}g.addTrace(sw.subscribe_session_topic_success);let _=a6(a2({},v),{topic:y,requiredNamespaces:f,optionalNamespaces:p,pairingTopic:l,acknowledged:!1,self:v.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:b,transportType:so.relay});await this.client.session.set(y,_),g.addTrace(sw.store_session);try{g.addTrace(sw.publishing_session_settle),await this.sendRequest({topic:y,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(e=>{throw g?.setError(s_.session_settle_publish_failure),e}),g.addTrace(sw.session_settle_publish_success),g.addTrace(sw.publishing_session_approve),await this.sendResult({id:n,topic:l,result:{relay:{protocol:a??"irn"},responderPublicKey:b},throwOnFailedPublish:!0}).catch(e=>{throw g?.setError(s_.session_approve_publish_failure),e}),g.addTrace(sw.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(y,rh("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(y),e}return this.client.core.eventClient.deleteEvent({eventId:g.eventId}),await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.client.proposal.delete(n,rh("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:l}),await this.setExpiry(y,eL(aU)),{topic:y,acknowledged:()=>Promise.resolve(this.client.session.get(y))}}),a3(this,"reject",async e=>{let t;this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}let{id:i,reason:r}=e;try{t=this.client.proposal.get(i).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),e}t&&(await this.sendError({id:i,topic:t,error:r,rpcOpts:aB.wc_sessionPropose.reject}),await this.client.proposal.delete(i,rh("USER_DISCONNECTED")))}),a3(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}let{topic:t,namespaces:i}=e,{done:r,resolve:s,reject:n}=ej(),a=(0,r2.payloadId)(),o=(0,r2.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(eU("session_update",a),({error:e})=>{e?n(e):s()}),await this.client.session.update(t,{namespaces:i}
10),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:o}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),n(e)}),{acknowledged:r}}),a3(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}let{topic:t}=e,i=(0,r2.payloadId)(),{done:r,resolve:s,reject:n}=ej();return this.events.once(eU("session_extend",i),({error:e})=>{e?n(e):s()}),await this.setExpiry(t,eL(aU)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(e=>{n(e)}),{acknowledged:r}}),a3(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}let{chainId:t,request:i,topic:r,expiry:s=aB.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(r);n?.transportType===so.relay&&await this.confirmOnlineStateOrThrow();let a=(0,r2.payloadId)(),o=(0,r2.getBigIntRpcId)().toString(),{done:c,resolve:h,reject:d}=ej(s,"Request expired. Please try again.");this.events.once(eU("session_request",a),({error:e,result:t})=>{e?d(e):h(t)});let l="wc_sessionRequest",u=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(u)return await this.sendRequest({clientRpcId:a,relayRpcId:o,topic:r,method:l,params:{request:a6(a2({},i),{expiryTimestamp:eL(s)}),chainId:t},expiry:s,throwOnFailedPublish:!0,appLink:u}).catch(e=>d(e)),this.client.events.emit("session_request_sent",{topic:r,request:i,chainId:t,id:a}),await c();let f={request:a6(a2({},i),{expiryTimestamp:eL(s)}),chainId:t},p=this.shouldSetTVF(l,f);return await Promise.all([new Promise(async e=>{await this.sendRequest(a2({clientRpcId:a,relayRpcId:o,topic:r,method:l,params:f,expiry:s,throwOnFailedPublish:!0},p&&{tvf:this.getTVFParams(a,f)})).catch(e=>d(e)),this.client.events.emit("session_request_sent",{topic:r,request:i,chainId:t,id:a}),e()}),new Promise(async e=>{var t;if(!(null!=(t=n.sessionConfig)&&t.disableDeepLink)){let e=await eK(this.client.core.storage,aL);await eV({id:a,topic:r,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),a3(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:i}=e,{id:r}=i,s=this.client.session.get(t);s.transportType===so.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);(0,r2.isJsonRpcResult)(i)?await this.sendResult({id:r,topic:t,result:i.result,throwOnFailedPublish:!0,appLink:n}):(0,r2.isJsonRpcError)(i)&&await this.sendError({id:r,topic:t,error:i.error,appLink:n}),this.cleanupAfterResponse(e)}),a3(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=(0,r2.payloadId)(),i=(0,r2.getBigIntRpcId)().toString(),{done:r,resolve:s,reject:n}=ej();this.events.once(eU("session_ping",e),({error:e})=>{e?n(e):s()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:i}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:t}))}),a3(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:i,chainId:r}=e,s=(0,r2.getBigIntRpcId)().toString(),n=(0,r2.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:i,
10chainId:r},throwOnFailedPublish:!0,relayRpcId:s,clientRpcId:n})}),a3(this,"disconnect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:rh("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=rc("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),a3(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:i}=t,r=Object.keys(e.namespaces),s=Object.keys(i),n=!0;return!!eq(s,r)&&(r.forEach(t=>{let{accounts:r,methods:s,events:a}=e.namespaces[t],o=ri(r),c=i[t];eq(eS(t,c),o)&&eq(c.methods,s)&&eq(c.events,a)||(n=!1)}),n)})(t,e)))),a3(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),a3(this,"authenticate",async(e,t)=>{var i,r,s;let n;this.isInitialized(),this.isValidAuthenticate(e);let a=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(i=this.client.metadata.redirect)?void 0:i.linkMode),o=a?so.link_mode:so.relay;o===so.relay&&await this.confirmOnlineStateOrThrow();let{chains:c,statement:h="",uri:d,domain:l,nonce:u,type:f,exp:p,nbf:g,methods:b=[],expiry:m}=e,y=[...e.resources||[]],{topic:v,uri:w}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:v,uri:w}});let _=await this.client.core.crypto.generateKeyPair(),I=i0(_);if(await Promise.all([this.client.auth.authKeys.set(aG,{responseTopic:I,publicKey:_}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:v})]),await this.client.core.relayer.subscribe(I,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${v}`),b.length>0){let{namespace:e}=e_(c[0]),t=tD(function(e,t,i,r={}){return i?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,i={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[i]})))}(t,i,r)}}}(e,"request",b));tK(y)&&(r=t,s=y.pop(),t=tD(function(e,t){tL(e),tL(t);let i=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),r={att:{}};return i.forEach(i=>{var s,n;Object.keys((null==(s=e.att)?void 0:s[i])||{}).concat(Object.keys((null==(n=t.att)?void 0:n[i])||{})).sort((e,t)=>e.localeCompare(t)).forEach(s=>{var n,a;r.att[i]=tq(tN({},r.att[i]),{[s]:(null==(n=e.att[i])?void 0:n[s])||(null==(a=t.att[i])?void 0:a[s])})})}),r}(tU(r),tU(s)))),y.push(t)}let S=m&&m>aB.wc_sessionAuthenticate.req.ttl?m:aB.wc_sessionAuthenticate.req.ttl,E={authPayload:{type:f??"caip122",chains:c,statement:h,aud:d,domain:l,version:"1",nonce:u,iat:new Date().toISOString(),exp:p,nbf:g,resources:y},requester:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:eL(S)},P={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:c,methods:[...new Set(["personal_sign",...b])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:v,proposer:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:eL(aB.wc_sessionPropose.req.ttl),id:(0,r2.payloadId)()},{done:M,resolve:x,reject:A}=ej(S,"Request expired"),O=(0,r2.payloadId)(),R=eU("session_connect",P.id),N=eU("session_request",O),q=async({error:e,session:t})=>{this.events.off(N,C),e?A(e):t&&x({session:t})},C=async e=>{var i,r,s;let n;if(await this.deletePendingAuthRequest(O,{message:"fulfilled",code:0}),e.error){let t=rh("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(R,q),A(e.error.message))}await this.deleteProposal(P.id),this.events.off(R,q);let{cacaos:a,responder:c}=e.result,h=[],d=[];for(let e of a){await tz({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),A(rh("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,i=tK(t.resources),r=[tj(t.iss)],s=tk(t.iss);if(i){let e=tB(i),t=tV(i);h.push(...e),r.push(...t)}for(let e of r)d.push(`${e}:${s}`)}let l=await this.client.core.crypto.generateSharedKey(_,c.publicKey);h.length>0&&(n={topic:l,acknowledged:!0,self:{publicKey:_,metadata:this.client.metadata},peer:c,controller:c.publicKey,expiry:eL(aU),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:v,namespaces:rn([...new Set(h)],[...new Set(d)]),transportType:o},await this.client.core.relayer.subscribe(l,{transportType:o}),await this.client.session.set(l,n),v&&await this.client.core.pairing.updateMetadata({topic:v,metadata:c.metadata}),n=this.client.session.get(l)),null!=(i=this.client.metadata.redirect)&&i.linkMode&&null!=(r=c.metadata.redirect)&&r.linkMode&&null!=(s=c.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(c.metadata.redirect.universal),this.client.session.update(l,{transportType:so.link_mode})),x({auths:a,session:n})};this.events.once(R,q),this.events.once(N,C);try{if(a){let e=(0,r2.formatJsonRpcRequest)("wc_sessionAuthenticate",E,O);this.client.core.history.set(v,e);let i=await this.client.core.crypto.encode("",e,{type:2,encoding:iQ});n=rt(t,v,i)}else await Promise.all([this.sendRequest({topic:v,method:"wc_sessionAuthenticate",params:E,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:O}),this.sendRequest({topic:v,method:"wc_sessionPropose",params:P,expiry:aB.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:P.id})])}catch(e){throw this.events.off(R,q),this.events.off(N,C),e}
10return await this.setProposal(P.id,P),await this.setAuthRequest(O,{request:a6(a2({},E),{verifyContext:{}}),pairingTopic:v,transportType:o}),{uri:n??w,response:M}}),a3(this,"approveSessionAuthenticate",async e=>{let t;let{id:i,auths:r}=e,s=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[sI.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw s.setError(sS.no_internet_connection),e}let n=this.getPendingAuthRequest(i);if(!n)throw s.setError(sS.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${i}`);let a=n.transportType||so.relay;a===so.relay&&await this.confirmOnlineStateOrThrow();let o=n.requester.publicKey,c=await this.client.core.crypto.generateKeyPair(),h=i0(o),d={type:1,receiverPublicKey:o,senderPublicKey:c},l=[],u=[];for(let e of r){if(!await tz({cacao:e,projectId:this.client.core.projectId})){s.setError(sS.invalid_cacao);let e=rh("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:h,error:e,encodeOpts:d}),Error(e.message)}s.addTrace(sI.cacaos_verified);let{p:t}=e,r=tK(t.resources),n=[tj(t.iss)],a=tk(t.iss);if(r){let e=tB(r),t=tV(r);l.push(...e),n.push(...t)}for(let e of n)u.push(`${e}:${a}`)}let f=await this.client.core.crypto.generateSharedKey(c,o);if(s.addTrace(sI.create_authenticated_session_topic),l?.length>0){t={topic:f,acknowledged:!0,self:{publicKey:c,metadata:this.client.metadata},peer:{publicKey:o,metadata:n.requester.metadata},controller:o,expiry:eL(aU),authentication:r,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:rn([...new Set(l)],[...new Set(u)]),transportType:a},s.addTrace(sI.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw s.setError(sS.subscribe_authenticated_session_topic_failure),e}s.addTrace(sI.subscribe_authenticated_session_topic_success),await this.client.session.set(f,t),s.addTrace(sI.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}s.addTrace(sI.publishing_authenticated_session_approve);try{await this.sendResult({topic:h,id:i,result:{cacaos:r,responder:{publicKey:c,metadata:this.client.metadata}},encodeOpts:d,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,a)})}catch(e){throw s.setError(sS.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:t}}),a3(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:i}=e,r=this.getPendingAuthRequest(t);if(!r)throw Error(`Could not find pending auth request with id ${t}`);r.transportType===so.relay&&await this.confirmOnlineStateOrThrow();let s=r.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),a=i0(s);await this.sendError({id:t,topic:a,error:i,encodeOpts:{type:1,receiverPublicKey:s,senderPublicKey:n},rpcOpts:aB.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,rh("USER_DISCONNECTED"))}),a3(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:i}=e;return t$(t,i)}),a3(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),a3(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(i=>{var r,s;return(null==(r=i.peerMetadata)?void 0:r.url)&&(null==(s=i.peerMetadata)?void 0:s.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(0===i.length)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}}),a3(this,"deleteSession",async e=>{var t;let{topic:i,expirerHasDeleted:r=!1,emitEvent:s=!0,id:n=0}=e,{self:a}=this.client.session.get(i);await this.client.core.relayer.unsubscribe(i),await this.client.session.delete(i,rh("USER_DISCONNECTED")),this.addToRecentlyDeleted(i,"session"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(i)&&await this.client.core.crypto.deleteSymKey(i),r||this.client.core.expirer.del(i),this.client.core.storage.removeItem(aL).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEac
10h(e=>{e.topic===i&&this.deletePendingSessionRequest(e.id,rh("USER_DISCONNECTED"))}),i===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=aK.idle),s&&this.client.events.emit("session_delete",{id:n,topic:i})}),a3(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:t.pairingTopic});i?.setError(s_.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,rh("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),a3(this,"deletePendingSessionRequest",async(e,t,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),i&&(this.sessionRequestQueue.state=aK.idle,this.client.events.emit("session_request_expire",{id:e}))}),a3(this,"deletePendingAuthRequest",async(e,t,i=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),i?Promise.resolve():this.client.core.expirer.del(e)])}),a3(this,"setExpiry",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),a3(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,eL(aB.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),a3(this,"setAuthRequest",async(e,t)=>{let{request:i,pairingTopic:r,transportType:s=so.relay}=t;this.client.core.expirer.set(e,i.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:i.authPayload,requester:i.requester,expiryTimestamp:i.expiryTimestamp,id:e,pairingTopic:r,verifyContext:i.verifyContext,transportType:s})}),a3(this,"setPendingSessionRequest",async e=>{let{id:t,topic:i,params:r,verifyContext:s}=e,n=r.request.expiryTimestamp||eL(aB.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:i,params:r,verifyContext:s})}),a3(this,"sendRequest",async e=>{let t,r;let{topic:s,method:n,params:a,expiry:o,relayRpcId:c,clientRpcId:h,throwOnFailedPublish:d,appLink:l,tvf:u}=e,f=(0,r2.formatJsonRpcRequest)(n,a,h),p=!!l;try{let e=p?iQ:iZ;t=await this.client.core.crypto.encode(s,f,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${s} failed`),e}if(aF.includes(n)){let e=i1(JSON.stringify(f)),i=i1(t);r=await this.client.core.verify.register({id:i,decryptedId:e})}let g=aB[n].req;if(g.attestation=r,o&&(g.ttl=o),c&&(g.id=c),this.client.core.history.set(s,f),p){let e=rt(l,s,t);await i.g.Linking.openURL(e,this.client.name)}else{let e=aB[n].req;o&&(e.ttl=o),c&&(e.id=c),e.tvf=a6(a2({},u),{correlationId:f.id}),d?(e.internal=a6(a2({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,t,e)):this.client.core.relayer.publish(s,t,e).catch(e=>this.client.logger.error(e))}return f.id}),a3(this,"sendResult",async e=>{let t,r,s;let{id:n,topic:a,result:o,throwOnFailedPublish:c,encodeOpts:h,appLink:d}=e,l=(0,r2.formatJsonRpcResult)(n,o),u=d&&"u">typeof(null==i.g?void 0:i.g.Linking);try{let e=u?iQ:iZ;t=await this.client.core.crypto.encode(a,l,a6(a2({},h||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${a} failed`),e}try{let e=(r=await this.client.core.history.get(a,n)).request;try{this.shouldSetTVF(e.method,e.params)&&(s=this.getTVFParams(n,e.params,o))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${a}, ${n}) failed`),e}if(u){let e=rt(d,a,t);await i.g.Linking.openURL(e,this.client.name)}else{let e=aB[r.request.method].res;e.tvf=a6(a2({},s),{correlationId:n}),c?(e.internal=a6(a2({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(a,t,e)):this.client.core.relayer.publish(a,t,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(l)}),a3(this,"sendError",async e=>{let t,r;let{id:s,topic:n,error:a,encodeOpts:o,rpcOpts:c,appLink:h}=e,d=(0,r2.formatJsonRpcError)(s,a),l=h&&"u">typeof(null==i.g?void 0:i.g.Linking);try{let e=l?iQ:iZ;
10t=await this.client.core.crypto.encode(n,d,a6(a2({},o||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}try{r=await this.client.core.history.get(n,s)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${s}) failed`),e}if(l){let e=rt(h,n,t);await i.g.Linking.openURL(e,this.client.name)}else{let e=r.request.method,i=c||aB[e].res;this.client.core.relayer.publish(n,t,i)}await this.client.core.history.resolve(d)}),a3(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let i=!1;eD(t.expiry)&&(i=!0),this.client.core.crypto.keychain.has(t.topic)||(i=!0),i&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{eD(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),a3(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),a3(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===aK.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=aK.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=aK.idle}),a3(this,"processRequest",async e=>{let{topic:t,payload:i,attestation:r,transportType:s,encryptedId:n}=e,a=i.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case"wc_sessionPropose":return await this.onSessionProposeRequest
10({topic:t,payload:i,attestation:r,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,i);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,i);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,i);case"wc_sessionPing":return await this.onSessionPingRequest(t,i);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,i);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:i,attestation:r,encryptedId:n,transportType:s});case"wc_sessionEvent":return await this.onSessionEventRequest(t,i);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:i,attestation:r,encryptedId:n,transportType:s});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),a3(this,"onRelayEventResponse",async e=>{let{topic:t,payload:i,transportType:r}=e,s=(await this.client.core.history.get(t,i.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(t,i,r);case"wc_sessionSettle":return this.onSessionSettleResponse(t,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,i);case"wc_sessionExtend":return this.onSessionExtendResponse(t,i);case"wc_sessionPing":return this.onSessionPingResponse(t,i);case"wc_sessionRequest":return this.onSessionRequestResponse(t,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,i);default:return this.client.logger.info(`Unsupported response method ${s}`)}}),a3(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:i}=rc("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(i)}),a3(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:i}=e,r=this.expectedPairingMethodMap.get(t);return!(!r||r.includes(i))&&!!(r.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),a3(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:i,attestation:r,encryptedId:s}=e,{params:n,id:a}=i;try{let e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(sv.proposal_listener_not_found)),this.isValidConnect(a2({},i.params));let o=n.expiryTimestamp||eL(aB.wc_sessionPropose.req.ttl),c=a2({id:a,pairingTopic:t,expiryTimestamp:o},n);await this.setProposal(a,c);let h=await this.getVerifyContext({attestationId:r,hash:i1(JSON.stringify(i)),encryptedId:s,metadata:c.proposer.metadata});e?.addTrace(sy.emit_session_proposal),this.client.events.emit("session_proposal",{id:a,params:c,verifyContext:h})}catch(e){await this.sendError({id:a,topic:t,error:e,rpcOpts:aB.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),a3(this,"onSessionProposeResponse",async(e,t,i)=>{let{id:r}=t;if((0,r2.isJsonRpcResult)(t)){let{result:s}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});let n=this.client.proposal.get(r);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let a=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});let o=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:o});let c=await this.client.core.crypto.generateSharedKey(a,o);this.pendingSessions.set(r,{sessionTopic:c,pairingTopic:e,proposalId:r,publicKey:a});let h=await this.client.core.relayer.subscribe(c,{transportType:i});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if((0,r2.isJsonRpcError)(t)){await this.client.proposal.delete(r,rh("USER_DISCONNECTED"));let e=eU("session_connect",r);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),a3(this,"onSessionSettleRequest",async(e,t)=>{let{id:i,params:r}=t;try{this.isValidSessionSettleRequest(r);let{relay:i,controller:s,expiry:n,namespaces:a,sessionProperties:o,sessionConfig:c}=t.params,h=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!h)return this.client.logger.error(`Pending session not found for topic ${e}`);let d=this.client.proposal.get(h.proposalId),l=a6(a2(a2({topic:e,relay:i,expiry:n,namespaces:a,acknowledged:!0,pairingTopic:h.pairingTopic,requiredNamespaces:d.requiredNamespaces,optionalNamespaces:d.optionalNamespaces,controller:s.publicKey,self:{publicKey:h.publicKey,metadata:this.client.metadata},peer:{publicKey:s.publicKey,metadata:s.metadata}},o&&{sessionProperties:o}),c&&{sessionConfig:c}
10),{transportType:so.relay});await this.client.session.set(l.topic,l),await this.setExpiry(l.topic,l.expiry),await this.client.core.pairing.updateMetadata({topic:h.pairingTopic,metadata:l.peer.metadata}),this.client.events.emit("session_connect",{session:l}),this.events.emit(eU("session_connect",h.proposalId),{session:l}),this.pendingSessions.delete(h.proposalId),this.deleteProposal(h.proposalId,!1),this.cleanupDuplicatePairings(l),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),a3(this,"onSessionSettleResponse",async(e,t)=>{let{id:i}=t;(0,r2.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(eU("session_approve",i),{})):(0,r2.isJsonRpcError)(t)&&(await this.client.session.delete(e,rh("USER_DISCONNECTED")),this.events.emit(eU("session_approve",i),{error:t.error}))}),a3(this,"onSessionUpdateRequest",async(e,t)=>{let{params:i,id:r}=t;try{let t=`${e}_session_update`,s=rx.get(t);if(s&&this.isRequestOutOfSync(s,r)){this.client.logger.warn(`Discarding out of sync request - ${r}`),this.sendError({id:r,topic:e,error:rh("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(a2({topic:e},i));try{rx.set(t,r),await this.client.session.update(e,{namespaces:i.namespaces}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw rx.delete(t),e}this.client.events.emit("session_update",{id:r,topic:e,params:i})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),a3(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),a3(this,"onSessionUpdateResponse",(e,t)=>{let{id:i}=t,r=eU("session_update",i);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("session_update",i),{}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("session_update",i),{error:t.error})}),a3(this,"onSessionExtendRequest",async(e,t)=>{let{id:i}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,eL(aU)),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),a3(this,"onSessionExtendResponse",(e,t)=>{let{id:i}=t,r=eU("session_extend",i);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("session_extend",i),{}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("session_extend",i),{error:t.error})}),a3(this,"onSessionPingRequest",async(e,t)=>{let{id:i}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:e})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),a3(this,"onSessionPingResponse",(e,t)=>{let{id:i}=t,r=eU("session_ping",i);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);setTimeout(()=>{(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("session_ping",i),{}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("session_ping",i),{error:t.error})},500)}),a3(this,"onSessionDeleteRequest",async(e,t)=>{let{id:i}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(ss.publish,async()=>{t(await this.deleteSession({topic:e,id:i}))})}),this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:rh("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),a3(this,"onSessionRequest",async e=>{var t,i,r;let{topic:s,payload:n,attestation:a,encryptedId:o,transportType:c}=e,{id:h,params:d}=n;try{await this.isValidRequest(a2({topic:s},d));let e=this.client.session.get(s),n=await this.getVerifyContext({attestationId:a,hash:i1(JSON.stringify((0,r2.formatJsonRpcRequest)("wc_sessionRequest",d,h))),encryptedId:o,metadata:e.peer.metadata,transportType:c}),l={id:h,topic:s,params:d,verifyContext:n};await this.setPendingSessionRequest(l),c===so.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(i=e.peer.metadata.redirect)?void 0:i.universal),null!=(r=this.client.signConfig)&&r.disableRequestQueue?this.emitSessionRequest(l):(this.addSessionRequestToSessionRequestQueue(l),this.processSessionRequestQueue())}
10catch(e){await this.sendError({id:h,topic:s,error:e}),this.client.logger.error(e)}}),a3(this,"onSessionRequestResponse",(e,t)=>{let{id:i}=t,r=eU("session_request",i);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("session_request",i),{result:t.result}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("session_request",i),{error:t.error})}),a3(this,"onSessionEventRequest",async(e,t)=>{let{id:i,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,s=rx.get(t);if(s&&this.isRequestOutOfSync(s,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(a2({topic:e},r)),this.client.events.emit("session_event",{id:i,topic:e,params:r}),rx.set(t,i)}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),a3(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:i}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,r2.isJsonRpcResult)(t)?this.events.emit(eU("session_request",i),{result:t.result}):(0,r2.isJsonRpcError)(t)&&this.events.emit(eU("session_request",i),{error:t.error})}),a3(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:i,payload:r,attestation:s,encryptedId:n,transportType:a}=e;try{let{requester:e,authPayload:o,expiryTimestamp:c}=r.params,h=await this.getVerifyContext({attestationId:s,hash:i1(JSON.stringify(r)),encryptedId:n,metadata:e.metadata,transportType:a}),d={requester:e,pairingTopic:i,id:r.id,authPayload:o,verifyContext:h,expiryTimestamp:c};await this.setAuthRequest(r.id,{request:d,pairingTopic:i,transportType:a}),a===so.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:i,params:r.params,id:r.id,verifyContext:h})}catch(n){this.client.logger.error(n);let e=r.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(r.params.requester.metadata,a);await this.sendError({id:r.id,topic:i,error:n,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:aB.wc_sessionAuthenticate.autoReject,appLink:s})}}),a3(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),a3(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=aK.idle,this.processSessionRequestQueue()},(0,R.toMiliseconds)(this.requestQueueDelay))}),a3(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let i=this.client.core.history.pending;i.length>0&&i.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let i=eU("session_request",e.request.id);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);this.events.emit(eU("session_request",e.request.id),{error:t})})}),a3(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===aK.active){this.client.logger.info("session request queue is already active.");return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=aK.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),a3(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),a3(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);
10t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,r2.formatJsonRpcRequest)("wc_sessionPropose",{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties},t.id)})}),a3(this,"isValidConnect",async e=>{let t;if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:i,requiredNamespaces:r,optionalNamespaces:s,sessionProperties:n,relays:a}=e;if(ru(i)||await this.isValidPairingTopic(i),t=!1,a?a&&rd(a)&&a.length&&a.forEach(e=>{t=rv(e)}):t=!0,!t){let{message:e}=rc("MISSING_OR_INVALID",`connect() relays: ${a}`);throw Error(e)}ru(r)||0===rl(r)||this.validateNamespaces(r,"requiredNamespaces"),ru(s)||0===rl(s)||this.validateNamespaces(s,"optionalNamespaces"),ru(n)||this.validateSessionProps(n,"sessionProperties")}),a3(this,"validateNamespaces",(e,t)=>{let i=function(e,t,i){let r=null;if(e&&rl(e)){let s;let n=rm(e,t);n&&(r=n);let a=(s=null,Object.entries(e).forEach(([e,r])=>{var n,a;let o;if(s)return;let c=(n=eS(e,r),a=`${t} ${i}`,o=null,rd(n)&&n.length?n.forEach(e=>{o||rg(e)||(o=rh("UNSUPPORTED_CHAINS",`${a}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):rg(e)||(o=rh("UNSUPPORTED_CHAINS",`${a}, 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"] }`)),o);c&&(s=c)}),s);a&&(r=a)}else r=rc("MISSING_OR_INVALID",`${t}, ${i} should be an object with data`);return r}(e,"connect()",t);if(i)throw Error(i.message)}),a3(this,"isValidApprove",async e=>{if(!rw(e))throw Error(rc("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:i,relayProtocol:r,sessionProperties:s}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let n=this.client.proposal.get(t),a=ry(i,"approve()");if(a)throw Error(a.message);let o=rI(n.requiredNamespaces,i,"approve()");if(o)throw Error(o.message);if(!rf(r,!0)){let{message:e}=rc("MISSING_OR_INVALID",`approve() relayProtocol: ${r}`);throw Error(e)}ru(s)||this.validateSessionProps(s,"sessionProperties")}),a3(this,"isValidReject",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:i}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!i||"object"!=typeof i||!i.code||!rp(i.code,!1)||!i.message||!rf(i.message,!1)){let{message:e}=rc("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw Error(e)}}),a3(this,"isValidSessionSettleRequest",e=>{let t;if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}
10let{relay:i,controller:r,namespaces:s,expiry:n}=e;if(!rv(i)){let{message:e}=rc("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let a=(t=null,rf(r?.publicKey,!1)||(t=rc("MISSING_OR_INVALID","onSessionSettleRequest() controller public key should be a string")),t);if(a)throw Error(a.message);let o=ry(s,"onSessionSettleRequest()");if(o)throw Error(o.message);if(eD(n)){let{message:e}=rc("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),a3(this,"isValidUpdate",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let r=this.client.session.get(t),s=ry(i,"update()");if(s)throw Error(s.message);let n=rI(r.requiredNamespaces,i,"update()");if(n)throw Error(n.message)}),a3(this,"isValidExtend",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),a3(this,"isValidRequest",async e=>{var t;if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:i,request:r,chainId:s,expiry:n}=e;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);let{namespaces:a}=this.client.session.get(i);if(!r_(a,s)){let{message:e}=rc("MISSING_OR_INVALID",`request() chainId: ${s}`);throw Error(e)}if(ru(r)||!rf(r.method,!1)){let{message:e}=rc("MISSING_OR_INVALID",`request() ${JSON.stringify(r)}`);throw Error(e)}if(!(rf(t=r.method,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{ri(e.accounts).includes(t)&&i.push(...e.methods)}),i})(a,s).includes(t))){let{message:e}=rc("MISSING_OR_INVALID",`request() method: ${r.method}`);throw Error(e)}if(n&&(!rp(n,!1)||!(n<=aV.max)||!(n>=aV.min))){let{message:e}=rc("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${aV.min} and ${aV.max}`);throw Error(e)}}),a3(this,"isValidRespond",async e=>{var t;if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:i,response:r}=e;try{await this.isValidSessionTopic(i)}catch(i){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),i}if(ru(r)||ru(r.result)&&ru(r.error)||!rp(r.id,!1)||!rf(r.jsonrpc,!1)){let{message:e}=rc("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(r)}`);throw Error(e)}}),a3(this,"isValidPing",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),a3(this,"isValidEmit",async e=>{var t;if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:i,event:r,chainId:s}=e;await this.isValidSessionTopic(i);let{namespaces:n}=this.client.session.get(i);if(!r_(n,s)){let{message:e}=rc("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw Error(e)}if(ru(r)||!rf(r.name,!1)){let{message:e}=rc("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw Error(e)}if(!(rf(t=r.name,!1)&&(function(e,t){let i=[];return Object.values(e).forEach(e=>{ri(e.accounts).includes(t)&&i.push(...e.events)}),i})(n,s).includes(t))){let{message:e}=rc("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw Error(e)}}),a3(this,"isValidDisconnect",async e=>{if(!rw(e)){let{message:t}=rc("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),a3(this,"isValidAuthenticate",e=>{let{chains:t,uri:i,domain:r,nonce:s}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!rf(i,!1))throw Error("uri is required parameter");if(!rf(r,!1))throw Error("domain is required parameter");if(!rf(s,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>e_(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:n}=e_(t[0]);if("eip155"!==n)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),a3(this,"getVerifyContext",async e=>{let{attestationId:t,hash:i,encryptedId:r,metadata:s,transportType:n}=e,a={verified:{verifyUrl:s.verifyUrl||sg,validation:"UNKNOWN",origin:s.url||""}};try{if(n===so.link_mode){let e=this.getAppLinkIfEnabled(s,n);return a.verified.validation=e&&new URL(e).origin===new URL(s.url).origin?"VALID":"INVALID",a}let e=await this.client.core.verify.resolve({attestationId:t,hash:i,encryptedId:r,verifyUrl:s.verifyUrl});e&&(a.verified.origin=e.origin,a.verified.isScam=e.isScam,a.verified.validation=e.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),a3(this,"validateSessionProps",(e,t)=>
10{Object.values(e).forEach(e=>{if(!rf(e,!1)){let{message:i}=rc("MISSING_OR_INVALID",`${t} must be in Record<string, string> format. Received: ${JSON.stringify(e)}`);throw Error(i)}})}),a3(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),a3(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let i of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(i)}}}),a3(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:i}=rc("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(i)}}),a3(this,"isLinkModeEnabled",(e,t)=>{var r,s,n,a,o,c,h,d,l;return!!e&&t===so.link_mode&&(null==(s=null==(r=this.client.metadata)?void 0:r.redirect)?void 0:s.linkMode)===!0&&(null==(a=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:a.universal)!==void 0&&(null==(c=null==(o=this.client.metadata)?void 0:o.redirect)?void 0:c.universal)!==""&&(null==(h=e?.redirect)?void 0:h.universal)!==void 0&&(null==(d=e?.redirect)?void 0:d.universal)!==""&&(null==(l=e?.redirect)?void 0:l.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==i.g?void 0:i.g.Linking)}),a3(this,"getAppLinkIfEnabled",(e,t)=>{var i;return this.isLinkModeEnabled(e,t)?null==(i=e?.redirect)?void 0:i.universal:void 0}),a3(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=eH(e,"topic")||"",i=decodeURIComponent(eH(e,"wc_ev")||""),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:so.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:i,sessionExists:r})}),a3(this,"registerLinkModeListeners",async()=>{var e;if(eJ()||eM()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==i.g?void 0:i.g.Linking;if("u">typeof e){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),a3(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:i}=t;return Object.keys(aH).includes(i.method)}),a3(this,"getTVFParams",(e,t,i)=>{var r,s;try{let n=t.request.method,a=this.extractTxHashesFromResult(n,i);return a6(a2({correlationId:e,rpcMethods:[n],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(s=null==(r=t.request.params)?void 0:r[0])?void 0:s.to]}),{txHashes:a})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),a3(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let i=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!i.startsWith("0x"))return!1;let r=i.slice(2);return!!/^[0-9a-fA-F]*$/.test(r)&&r.length%2==0}catch{}return!1}),a3(this,"extractTxHashesFromResult",(e,t)=>{try{let i=aH[e];if("string"==typeof t)return[t];let r=t[i.key];if(rd(r))return r;if("string"==typeof r)return[r]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]})}isInitialized(){if(!this.initialized){let{message:e}=rc("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(ss.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){let{topic:t,message:i,attestation:r,transportType:s}=e,{publicKey:n}=this.client.auth.authKeys.keys.includes(aG)?this.client.auth.authKeys.get(aG):{responseTopic:void 0,publicKey:void 0},a=await this.client.core.crypto.decode(t,i,{receiverPublicKey:n,encoding:s===so.link_mode?iQ:iZ});try{(0,r2.isJsonRpcRequest)(a)?(this.client.core.history.set(t,a),this.onRelayEventRequest({topic:t,payload:a,attestation:r,transportType:s,encryptedId:i1(i)})):(0,r2.isJsonRpcResponse)(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:t,payload:a,transportType:s}
10),this.client.core.history.delete(t,a.id)):this.onRelayEventUnknownPayload({topic:t,payload:a,transportType:s})}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(sp.expired,async e=>{let{topic:t,id:i}=e$(e.target);return i&&this.client.pendingRequest.keys.includes(i)?await this.deletePendingSessionRequest(i,rc("EXPIRED"),!0):i&&this.client.auth.requests.keys.includes(i)?await this.deletePendingAuthRequest(i,rc("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i})))})}registerPairingEvents(){this.client.core.pairing.events.on(su.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(su.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!rf(e,!1)){let{message:t}=rc("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=rc("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eD(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=rc("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!rf(e,!1)){let{message:t}=rc("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=rc("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(eD(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=rc("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=rc("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(rf(e,!1)){let{message:t}=rc("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=rc("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if("number"!=typeof e){let{message:t}=rc("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=rc("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(eD(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=rc("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class a4 extends n7{constructor(e,t){super(e,t,"proposal",az),this.core=e,this.logger=t}}class a5 extends n7{constructor(e,t){super(e,t,"session",az),this.core=e,this.logger=t}}class a9 extends n7{constructor(e,t){super(e,t,"request",az,e=>e.id),this.core=e,this.logger=t}}class a7 extends n7{constructor(e,t){super(e,t,"authKeys",aJ,()=>aG),this.core=e,this.logger=t}}class oe extends n7{constructor(e,t){super(e,t,"pairingTopics",aJ),this.core=e,this.logger=t}}class ot extends n7{constructor(e,t){super(e,t,"requests",aJ,e=>e.id),this.core=e,this.logger=t}}var oi=Object.defineProperty,or=(e,t,i)=>t in e?oi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,os=(e,t,i)=>or(e,"symbol"!=typeof t?t+"":t,i);class on{constructor(e,t){this.core=e,this.logger=t,os(this,"authKeys"),os(this,"pairingTopics"),os(this,"requests"),this.authKeys=new a7(this.core,this.logger),this.pairingTopics=new oe(this.core,this.logger),this.requests=new ot(this.core,this.logger)}
10async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var oa=Object.defineProperty,oo=(e,t,i)=>t in e?oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,oc=(e,t,i)=>oo(e,"symbol"!=typeof t?t+"":t,i);class oh extends rY{constructor(e){super(e),oc(this,"protocol","wc"),oc(this,"version",2),oc(this,"name",a$.name),oc(this,"metadata"),oc(this,"core"),oc(this,"logger"),oc(this,"events",new x.EventEmitter),oc(this,"engine"),oc(this,"session"),oc(this,"proposal"),oc(this,"pendingRequest"),oc(this,"auth"),oc(this,"signConfig"),oc(this,"on",(e,t)=>this.events.on(e,t)),oc(this,"once",(e,t)=>this.events.once(e,t)),oc(this,"off",(e,t)=>this.events.off(e,t)),oc(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),oc(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),oc(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),oc(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),oc(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||a$.name,this.metadata=e?.metadata||eR(),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,rR.gw)((0,rR.jI)({level:e?.logger||a$.logger}));this.core=e?.core||new aj(e),this.logger=(0,rR.Ep)(t,this.name),this.session=new a5(this.core,this.logger),this.proposal=new a4(this.core,this.logger),this.pendingRequest=new a9(this.core,this.logger),this.engine=new a8(this),this.auth=new on(this.core,this.logger)}static async init(e){let t=new oh(e);return await t.initialize(),t}get context(){return(0,rR.Fd)(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.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,R.toMiliseconds)(R.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var od=i(97670);let ol="error",ou="wc@2:universal_provider:",of="https://rpc.walletconnect.org/v1/",op="generic",og=`${of}bundler`,ob="default_chain_changed";var om="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof i.g?i.g:"u">typeof self?self:{},oy=function(e,t){return e===t||e!=e&&t!=t},ov=function(e,t){for(var i=e.length;i--;)if(oy(e[i][0],t))return i;return -1},ow=Array.prototype.splice;function o_(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}o_.prototype.clear=function(){this.__data__=[],this.size=0},o_.prototype.delete=function(e){var t=this.__data__,i=ov(t,e);return!(i<0)&&(i==t.length-1?t.pop():ow.call(t,i,1),--this.size,!0)},o_.prototype.get=function(e){var t=this.__data__,i=ov(t,e);return i<0?void 0:t[i][1]},o_.prototype.has=function(e){return ov(this.__data__,e)>-1},o_.prototype.set=function(e,t){var i=this.__data__,r=ov(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this};var oI="object"==typeof om&&om&&om.Object===Object&&om,oS="object"==typeof self&&self&&self.Object===Object&&self,oE=oI||oS||Function("return this")(),oP=oE.Symbol,oM=Object.prototype,ox=oM.hasOwnProperty,oA=oM.toString,oO=oP?oP.toStringTag:void 0,oR=Object.prototype.toString,oN=function(e){var t=ox.call(e,oO),i=e[oO];try{e[oO]=void 0;var r=!0}catch{}var s=oA.call(e);return r&&(t?e[oO]=i:delete e[oO]),s},oq=oP?oP.toStringTag:void 0,oC=function(e){return null==e?void 0===e?"[object Undef
10ined]":"[object Null]":oq&&oq in Object(e)?oN(e):oR.call(e)},oT=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},oj=function(e){if(!oT(e))return!1;var t=oC(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},ok=oE["__core-js_shared__"],oz=(a=/[^.]+$/.exec(ok&&ok.keys&&ok.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"",o$=Function.prototype.toString,oL=function(e){if(null!=e){try{return o$.call(e)}catch{}try{return e+""}catch{}}return""},oD=/^\[object .+?Constructor\]$/,oU=Object.prototype,oB=Function.prototype.toString,oV=oU.hasOwnProperty,oK=RegExp("^"+oB.call(oV).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),oH=function(e,t){var i,r=e?.[t];return oT(i=r)&&(!oz||!(oz in i))&&(oj(i)?oK:oD).test(oL(i))?r:void 0},oF=oH(oE,"Map"),oJ=oH(Object,"create"),oG=Object.prototype.hasOwnProperty,oW=Object.prototype.hasOwnProperty;function oZ(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}oZ.prototype.clear=function(){this.__data__=oJ?oJ(null):{},this.size=0},oZ.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},oZ.prototype.get=function(e){var t=this.__data__;if(oJ){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return oG.call(t,e)?t[e]:void 0},oZ.prototype.has=function(e){var t=this.__data__;return oJ?void 0!==t[e]:oW.call(t,e)},oZ.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=oJ&&void 0===t?"__lodash_hash_undefined__":t,this};var oQ=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},oY=function(e,t){var i=e.__data__;return oQ(t)?i["string"==typeof t?"string":"hash"]:i.map};function oX(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function o0(e){var t=this.__data__=new o_(e);this.size=t.size}oX.prototype.clear=function(){this.size=0,this.__data__={hash:new oZ,map:new(oF||o_),string:new oZ}},oX.prototype.delete=function(e){var t=oY(this,e).delete(e);return this.size-=t?1:0,t},oX.prototype.get=function(e){return oY(this,e).get(e)},oX.prototype.has=function(e){return oY(this,e).has(e)},oX.prototype.set=function(e,t){var i=oY(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this},o0.prototype.clear=function(){this.__data__=new o_,this.size=0},o0.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},o0.prototype.get=function(e){return this.__data__.get(e)},o0.prototype.has=function(e){return this.__data__.has(e)},o0.prototype.set=function(e,t){var i=this.__data__;if(i instanceof o_){var r=i.__data__;if(!oF||r.length<199)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new oX(r)}return i.set(e,t),this.size=i.size,this};var o1=function(){try{var e=oH(Object,"defineProperty");return e({},"",{}),e}catch{}}(),o2=function(e,t,i){"__proto__"==t&&o1?o1(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i},o6=function(e,t,i){(void 0===i||oy(e[t],i))&&(void 0!==i||t in e)||o2(e,t,i)},o3={exports:{}};l=(d=(h=(c=(o=o3.exports)&&!o.nodeType&&o)&&o3&&!o3.nodeType&&o3)&&h.exports===c?oE.Buffer:void 0)?d.allocUnsafe:void 0,o3.exports=function(e,t){if(t)return e.slice();var i=e.length,r=l?l(i):new e.constructor(i);return e.copy(r),r};var o8=oE.Uint8Array,o4=function(e){var t=new e.constructor(e.byteLength);return new o8(t).set(new o8(e)),t},o5=Object.create,o9=function(){function e(){}return function(t){if(!oT(t))return{};if(o5)return o5(t);e.prototype=t;var i=new e;return e.prototype=void 0,i}}(),o7=(u=Object.getPrototypeOf,f=Object,function(e){return u(f(e))}),ce=Object.prototype,ct=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ce)},ci=function(e){return null!=e&&"object"==typeof e},cr=function(e){return ci(e)&&"[object Arguments]"==oC(e)},cs=Object.prototype,cn=cs.hasOwnProperty,ca=cs.propertyIsEnumerable,co=cr(function(){return arguments}())?cr:function(e){return ci(e)&&cn.call(e,"callee")&&!ca.call(e,"callee")},cc=Array.isArray,ch=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},cd=function(e){return null!=e&&ch(e.length)&&!oj(e)},cl={exports:{}};y=(m=(b=(g=(p=cl.exports)&&!p.nodeType&&p)&&cl&&!cl.nodeType&&cl)&&b.exports===g?oE.Buffer:void 0)?m.isBuffer:void 0,cl.exports=y||function(){return!1};var cu=Object.prototype,cf=Function.prototype.toString,cp=cu.hasOwnProperty,cg=cf.call(Object),cb={};
10cb["[object Float32Array]"]=cb["[object Float64Array]"]=cb["[object Int8Array]"]=cb["[object Int16Array]"]=cb["[object Int32Array]"]=cb["[object Uint8Array]"]=cb["[object Uint8ClampedArray]"]=cb["[object Uint16Array]"]=cb["[object Uint32Array]"]=!0,cb["[object Arguments]"]=cb["[object Array]"]=cb["[object ArrayBuffer]"]=cb["[object Boolean]"]=cb["[object DataView]"]=cb["[object Date]"]=cb["[object Error]"]=cb["[object Function]"]=cb["[object Map]"]=cb["[object Number]"]=cb["[object Object]"]=cb["[object RegExp]"]=cb["[object Set]"]=cb["[object String]"]=cb["[object WeakMap]"]=!1;var cm={exports:{}};I=(_=(w=(v=cm.exports)&&!v.nodeType&&v)&&cm&&!cm.nodeType&&cm)&&_.exports===w&&oI.process,S=function(){try{return _&&_.require&&_.require("util").types||I&&I.binding&&I.binding("util")}catch{}}(),cm.exports=S;var cy=cm.exports,cv=cy&&cy.isTypedArray,cw=cv?function(e){return cv(e)}:function(e){return ci(e)&&ch(e.length)&&!!cb[oC(e)]},c_=function(e,t){if(!("constructor"===t&&"function"==typeof e[t])&&"__proto__"!=t)return e[t]},cI=Object.prototype.hasOwnProperty,cS=function(e,t,i){var r=e[t];cI.call(e,t)&&oy(r,i)&&(void 0!==i||t in e)||o2(e,t,i)},cE=/^(?:0|[1-9]\d*)$/,cP=function(e,t){var i=typeof e;return!!(t=t??9007199254740991)&&("number"==i||"symbol"!=i&&cE.test(e))&&e>-1&&e%1==0&&e<t},cM=function(e,t){for(var i=-1,r=Array(e);++i<e;)r[i]=t(i);return r},cx=cl.exports,cA=Object.prototype.hasOwnProperty,cO=function(e){var t=[];if(null!=e)for(var i in Object(e))t.push(i);return t},cR=Object.prototype.hasOwnProperty,cN=function(e,t){var i=cc(e),r=!i&&co(e),s=!i&&!r&&cx(e),n=!i&&!r&&!s&&cw(e),a=i||r||s||n,o=a?cM(e.length,String):[],c=o.length;for(var h in e)(t||cA.call(e,h))&&!(a&&("length"==h||s&&("offset"==h||"parent"==h)||n&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||cP(h,c)))&&o.push(h);return o},cq=function(e){if(!oT(e))return cO(e);var t=ct(e),i=[];for(var r in e)"constructor"==r&&(t||!cR.call(e,r))||i.push(r);return i},cC=function(e){return cd(e)?cN(e,!0):cq(e)},cT=function(e,t,i,r){var s=!i;i||(i={});for(var n=-1,a=t.length;++n<a;){var o=t[n],c=r?r(i[o],e[o],o,i,e):void 0;void 0===c&&(c=e[o]),s?o2(i,o,c):cS(i,o,c)}return i},cj=o3.exports,ck=function(e,t){var i=t?o4(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)},cz=function(e,t){var i=-1,r=e.length;for(t||(t=Array(r));++i<r;)t[i]=e[i];return t},c$=cl.exports,cL=function(e){if(!ci(e)||"[object Object]"!=oC(e))return!1;var t=o7(e);if(null===t)return!0;var i=cp.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&cf.call(i)==cg},cD=function(e,t,i){for(var r=-1,s=Object(e),n=i(e),a=n.length;a--;){var o=n[++r];if(!1===t(s[o],o,s))break}return e},cU=function(e,t,i,r,s,n,a){var o=c_(e,i),c=c_(t,i),h=a.get(c);if(h){o6(e,i,h);return}var d=n?n(o,c,i+"",e,t,a):void 0,l=void 0===d;if(l){var u=cc(c),f=!u&&c$(c),p=!u&&!f&&cw(c);d=c,u||f||p?cc(o)?d=o:ci(o)&&cd(o)?d=cz(o):f?(l=!1,d=cj(c,!0)):p?(l=!1,d=ck(c,!0)):d=[]:cL(c)||co(c)?(d=o,co(o)?d=cT(o,cC(o)):(!oT(o)||oj(o))&&(d="function"!=typeof c.constructor||ct(c)?{}:o9(o7(c)))):l=!1}l&&(a.set(c,d),s(d,c,r,n,a),a.delete(c)),o6(e,i,d)},cB=function(e){return e},cV=function(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)},cK=Math.max,cH=o1?function(e,t){return o1(e,"toString",{configurable:!0,enumerable:!1,value:function(){return t},writable:!0})}:cB,cF=Date.now,cJ=(E=0,P=0,function(){var e=cF(),t=16-(e-P);if(P=e,t>0){if(++E>=800)return arguments[0]}else E=0;return cH.apply(void 0,arguments)}),cG=function(e,t,i){if(!oT(i))return!1;var r=typeof t;return("number"==r?!!(cd(i)&&cP(t,i.length)):"string"==r&&t in i)&&oy(i[t],e)},cW=function e(t,i,r,s,n){t!==i&&cD(i,function(a,o){if(n||(n=new o0),oT(a))cU(t,i,o,r,e,s,n);else{var c=s?s(c_(t,o),a,o+"",t,i,n):void 0;void 0===c&&(c=a),o6(t,o,c)}},cC)},cZ=(M=function(e,t,i){cW(e,t,i)},r=function(e,t){var i=-1,r=t.length,s=r>1?t[r-1]:void 0,n=r>2?t[2]:void 0;for(s=M.length>3&&"function"==typeof s?(r--,s):void 0,n&&cG(t[0],t[1],n)&&(s=r<3?void 0:s,r=1),e=Object(e);++i<r;){var a=t[i];a&&M(e,a,i,s)}return e},cJ((n=cK(void 0===(n=s)?r.length-1:n,0),function(){for(var e=arguments,t=-1,i=cK(e.length-n,0),s=Array(i);++t<i;)s[t]=e[n+t];t=-1;for(var a=Array(n+1);++t<n;)a[t]=e[t];return a[n]=cB(s),cV(r,this,a)}),r+"")),cQ=Object.defineProperty,cY=Object.defineProperties,cX=Object.getOwnPropertyDescriptors,c0=Object.getOwnPropertySymbols,c1=Object.prototype.hasOwnProperty,c2=Object.prototype.propertyIsEnumerable,c6=(e,t,i)=>t in e?cQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,c3=(e,t)=>{for(var i in t||(t={}))c1.call(t,i)&&c6(e,i,t[i]);if(c0)for(var i of c0(t))c2.call(t,i)&&c6(e,i,t[i]);return e},c8=(e,t)=>cY(e,cX(t));function c4(e,t,i){var r;let s=e_(e);return(null==(r=t.rpcMap)?void 0:r[s.reference])||`${of}?chainId=${s.namespace}:${s.reference}&projectId=${i}`}function c5(e){return e.includes(":")?e.split(":")[1]:e}function c9(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function c7(e={},t={}){return cZ(he(e),he(t))}function he(e){var t,i,r,s;let n={};if(!rl(e))return n;
10for(let[a,o]of Object.entries(e)){let e=rr(a)?[a]:o.chains,c=o.methods||[],h=o.events||[],d=o.rpcMap||{},l=rs(a);n[l]=c8(c3(c3({},n[l]),o),{chains:eB(e,null==(t=n[l])?void 0:t.chains),methods:eB(c,null==(i=n[l])?void 0:i.methods),events:eB(h,null==(r=n[l])?void 0:r.events),rpcMap:c3(c3({},d),null==(s=n[l])?void 0:s.rpcMap)})}return n}function ht(e){return e.includes(":")?e.split(":")[2]:e}function hi(e){let t={};for(let[i,r]of Object.entries(e)){let e=r.methods||[],s=r.events||[],n=r.accounts||[],a=rr(i)?[i]:r.chains?r.chains:c9(r.accounts);t[i]={chains:a,methods:e,events:s,accounts:n}}return t}function hr(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):isNaN(Number(e=e.includes(":")?e.split(":")[1]:e))?e:Number(e)}let hs={},hn=e=>hs[e],ha=(e,t)=>{hs[e]=t};var ho=Object.defineProperty,hc=(e,t,i)=>t in e?ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hh=(e,t,i)=>hc(e,"symbol"!=typeof t?t+"":t,i);class hd{constructor(e){hh(this,"name","polkadot"),hh(this,"client"),hh(this,"httpProviders"),hh(this,"events"),hh(this,"namespace"),hh(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=c5(t);e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hl=Object.defineProperty,hu=Object.defineProperties,hf=Object.getOwnPropertyDescriptors,hp=Object.getOwnPropertySymbols,hg=Object.prototype.hasOwnProperty,hb=Object.prototype.propertyIsEnumerable,hm=(e,t,i)=>t in e?hl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hy=(e,t)=>{for(var i in t||(t={}))hg.call(t,i)&&hm(e,i,t[i]);if(hp)for(var i of hp(t))hb.call(t,i)&&hm(e,i,t[i]);return e},hv=(e,t)=>hu(e,hf(t)),hw=(e,t,i)=>hm(e,"symbol"!=typeof t?t+"":t,i);class h_{constructor(e){hw(this,"name","eip155"),hw(this,"client"),hw(this,"chainId"),hw(this,"namespace"),hw(this,"httpProviders"),hw(this,"events"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(ob,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let i=t||c4(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.k(i,hn("disableProviderPing")))}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=parseInt(c5(t));e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,i;let r=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",s=parseInt(r=r.startsWith("0x")?r:`0x${r}`,16);if(this.isChainApproved(s))this.setDefaultChain(`${s}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:r}]},chainId:null==(i=this.namespace.chains)?void 0:i[0]}),this.setDefaultChain(`${s}`);else throw Error(`Failed to switch to chain 'eip155:${s}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,i,r;let s=null==(i=null==(t=e.request)?void 0:t.params)?void 0:i[0];if(!s)throw Error("Missing address parameter in `wallet_getCapabilities` request");let n=this.client.session.get(e.topic),a=(null==(r=n?.sessionProperties)?void 0:r.capabilities)||{};if(null!=a&&a[s])return a?.[s];let o=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:hv(hy({},n.sessionProperties||{}),{capabilities:hv(hy({},a||{}),{[s]:o})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return o}async getCallStatus(e){var t,i;let r=this.client.session.get(e.topic),s=null==(t=r.sessionProperties)?void 0:t.bundler_name;if(s){let t=this.getBundlerUrl(e.chainId,s);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(i=r.sessionProperties)?void 0:i.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,n)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var i;let r=new URL(e),s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,r2.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(i=t.request.params)?void 0:i[0]]))});if(!s.ok)throw Error(`Failed to fetch user operation receipt - ${s.status}`);return await s.json()}
10getBundlerUrl(e,t){return`${og}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var hI=Object.defineProperty,hS=(e,t,i)=>t in e?hI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hE=(e,t,i)=>hS(e,"symbol"!=typeof t?t+"":t,i);class hP{constructor(e){hE(this,"name","solana"),hE(this,"client"),hE(this,"httpProviders"),hE(this,"events"),hE(this,"namespace"),hE(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=c5(t);e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hM=Object.defineProperty,hx=(e,t,i)=>t in e?hM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hA=(e,t,i)=>hx(e,"symbol"!=typeof t?t+"":t,i);class hO{constructor(e){hA(this,"name","cosmos"),hA(this,"client"),hA(this,"httpProviders"),hA(this,"events"),hA(this,"namespace"),hA(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=c5(t);e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hR=Object.defineProperty,hN=(e,t,i)=>t in e?hR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hq=(e,t,i)=>hN(e,"symbol"!=typeof t?t+"":t,i);class hC{constructor(e){hq(this,"name","algorand"),hq(this,"client"),hq(this,"httpProviders"),hq(this,"events"),hq(this,"namespace"),hq(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let i=t||c4(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(ob,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hT=Object.defineProperty,hj=(e,t,i)=>t in e?hT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hk=(e,t,i)=>hj(e,"symbol"!=typeof t?t+"":t,i);class hz{constructor(e){hk(this,"name","cip34"),hk(this,"client"),hk(this,"httpProviders"),hk(this,"events"),hk(this,"namespace"),hk(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let i=this.getCardanoRPCUrl(t),r=c5(t);e[r]=this.createHttpProvider(r,i)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||this.getCardanoRPCUrl(e);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var h$=Object.defineProperty,hL=(e,t,i)=>t in e?h$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hD=(e,t,i)=>hL(e,"symbol"!=typeof t?t+"":t,i);class hU{constructor(e){hD(this,"name","elrond"),hD(this,"client"),hD(this,"httpProviders"),hD(this,"events"),hD(this,"namespace"),hD(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=c5(t);e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hB=Object.defineProperty,hV=(e,t,i)=>t in e?hB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hK=(e,t,i)=>hV(e,"symbol"!=typeof t?t+"":t,i);class hH{constructor(e){hK(this,"name","multiversx"),hK(this,"client"),hK(this,"httpProviders"),hK(this,"events"),hK(this,"namespace"),hK(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;let r=c5(t);e[r]=this.createHttpProvider(r,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hF=Object.defineProperty,hJ=(e,t,i)=>t in e?hF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hG=(e,t,i)=>hJ(e,"symbol"!=typeof t?t+"":t,i);
10class hW{constructor(e){hG(this,"name","near"),hG(this,"client"),hG(this,"httpProviders"),hG(this,"events"),hG(this,"namespace"),hG(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let i=t||c4(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(ob,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,null==(i=this.namespace.rpcMap)?void 0:i[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace);return typeof i>"u"?void 0:new r1.r(new od.Z(i,hn("disableProviderPing")))}}var hZ=Object.defineProperty,hQ=(e,t,i)=>t in e?hZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hY=(e,t,i)=>hQ(e,"symbol"!=typeof t?t+"":t,i);class hX{constructor(e){hY(this,"name","tezos"),hY(this,"client"),hY(this,"httpProviders"),hY(this,"events"),hY(this,"namespace"),hY(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let i=t||c4(`${this.name}:${e}`,this.namespace);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(ob,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace);return typeof i>"u"?void 0:new r1.r(new od.Z(i))}}var h0=Object.defineProperty,h1=(e,t,i)=>t in e?h0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,h2=(e,t,i)=>h1(e,"symbol"!=typeof t?t+"":t,i);class h6{constructor(e){h2(this,"name",op),h2(this,"client"),h2(this,"httpProviders"),h2(this,"events"),h2(this,"namespace"),h2(this,"chainId"),this.namespace=e.namespace,this.events=hn("events"),this.client=hn("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ob,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let i={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e
10=>{let t=e_(e);i[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),i}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){let i=t||c4(e,this.namespace,this.client.core.projectId);if(!i)throw Error(`No RPC url provided for chainId: ${e}`);return new r1.r(new od.Z(i,hn("disableProviderPing")))}}var h3=Object.defineProperty,h8=Object.defineProperties,h4=Object.getOwnPropertyDescriptors,h5=Object.getOwnPropertySymbols,h9=Object.prototype.hasOwnProperty,h7=Object.prototype.propertyIsEnumerable,de=(e,t,i)=>t in e?h3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dt=(e,t)=>{for(var i in t||(t={}))h9.call(t,i)&&de(e,i,t[i]);if(h5)for(var i of h5(t))h7.call(t,i)&&de(e,i,t[i]);return e},di=(e,t)=>h8(e,h4(t)),dr=(e,t,i)=>de(e,"symbol"!=typeof t?t+"":t,i);class ds{constructor(e){dr(this,"client"),dr(this,"namespaces"),dr(this,"optionalNamespaces"),dr(this,"sessionProperties"),dr(this,"events",new(A())),dr(this,"rpcProviders",{}),dr(this,"session"),dr(this,"providerOpts"),dr(this,"logger"),dr(this,"uri"),dr(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,rR.gw)((0,rR.jI)({level:e?.logger||ol})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new ds(e);return await t.initialize(),t}async request(e,t,i){let[r,s]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(r).request({request:dt({},e),chainId:`${r}:${s}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,r){let s=new Date().getTime();this.request(e,i,r).then(e=>t(null,(0,r2.formatJsonRpcResult)(s,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw 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 e;if(!this.session)throw Error("Please call connect() before enable()");await this.client.disconnect({topic:null==(e=this.session)?void 0:e.topic,reason:rh("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:i,response:r}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));let s=await r();if(this.session=s.session,this.session){let e=hi(this.session.namespaces);this.namespaces=c7(this.namespaces,e),this.persist("namespaces",this.namespaces),this.onConnect()}return s}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:i}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});t&&(this.uri=t,this.events.emit("display_uri",t));let r=await i();this.session=r;let s=hi(r.namespaces);return this.namespaces=c7(this.namespaces,s),this.persist("namespaces",this.namespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[i,r]=this.validateChain(e),s=this.getProvider(i);s.name===op?s.setDefaultChain(`${i}:${r}`,t):s.setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");let t=this.client.pairing.getAll();if(rd(t)){for(let i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){let e=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[e]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await oh.init({core:this.providerOpts.core,logger:this.providerOpts.logger||ol,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw Error("Sign Client not initialized");if(!this.session)throw Error("Session not initialized. Please call connect() before enable()");let e=[...new Set(Object.keys(this.session.namespaces).map(e=>rs(e)))];ha("client",this.client),ha("events",this.events),ha("disableProviderPing",this.disableProviderPing),e.forEach(e
10=>{if(!this.session)return;let t=function(e,t){let i=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!i.length)return[];let r=[];return i.forEach(e=>{let i=t.namespaces[e].accounts;r.push(...i)}),r}(e,this.session),i=c9(t),r=di(dt({},c7(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:i});switch(e){case"eip155":this.rpcProviders[e]=new h_({namespace:r});break;case"algorand":this.rpcProviders[e]=new hC({namespace:r});break;case"solana":this.rpcProviders[e]=new hP({namespace:r});break;case"cosmos":this.rpcProviders[e]=new hO({namespace:r});break;case"polkadot":this.rpcProviders[e]=new hd({namespace:r});break;case"cip34":this.rpcProviders[e]=new hz({namespace:r});break;case"elrond":this.rpcProviders[e]=new hU({namespace:r});break;case"multiversx":this.rpcProviders[e]=new hH({namespace:r});break;case"near":this.rpcProviders[e]=new hW({namespace:r});break;case"tezos":this.rpcProviders[e]=new hX({namespace:r});break;default:this.rpcProviders[op]?this.rpcProviders[op].updateNamespace(r):this.rpcProviders[op]=new h6({namespace:r})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{let{params:t}=e,{event:i}=t;if("accountsChanged"===i.name){let e=i.data;e&&rd(e)&&this.events.emit("accountsChanged",e.map(ht))}else if("chainChanged"===i.name){let e=t.chainId,i=t.event.data,r=rs(e),s=hr(e)!==hr(i)?`${r}:${hr(i)}`:e;this.onChainChanged(s)}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i;let{namespaces:r}=t,s=null==(i=this.client)?void 0:i.session.get(e);this.session=di(dt({},s),{namespaces:r}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",di(dt({},rh("USER_DISCONNECTED")),{data:e.topic}))}),this.on(ob,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[op]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])})}setNamespaces(e){let{namespaces:t,optionalNamespaces:i,sessionProperties:r}=e;t&&Object.keys(t).length&&(this.namespaces=t),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=r,this.persist("namespaces",t),this.persist("optionalNamespaces",i)}validateChain(e){let[t,i]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(e=>rs(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];let r=rs(Object.keys(this.namespaces)[0]),s=this.rpcProviders[r].getDefaultChain();return[r,s]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;let[i,r]=this.validateChain(e);r&&(t||this.getProvider(i).setDefaultChain(r),this.namespaces[i]?this.namespaces[i].defaultChain=r:this.namespaces[`${i}:${r}`]?this.namespaces[`${i}:${r}`].defaultChain=r:this.namespaces[`${i}:${r}`]={defaultChain:r},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",r))}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(e,t){this.client.core.storage.setItem(`${ou}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${ou}/${e}`)}}let dn=["eth_sendTransaction","personal_sign"],da=["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","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus","wallet_showCallsStatus"],dc=["chainChanged","accountsChanged"],dh=["chainChanged","accountsChanged","message","disconnect","connect"];
10var dd=Object.defineProperty,dl=Object.defineProperties,du=Object.getOwnPropertyDescriptors,df=Object.getOwnPropertySymbols,dp=Object.prototype.hasOwnProperty,dg=Object.prototype.propertyIsEnumerable,db=(e,t,i)=>t in e?dd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,dm=(e,t)=>{for(var i in t||(t={}))dp.call(t,i)&&db(e,i,t[i]);if(df)for(var i of df(t))dg.call(t,i)&&db(e,i,t[i]);return e},dy=(e,t)=>dl(e,du(t)),dv=(e,t,i)=>db(e,"symbol"!=typeof t?t+"":t,i);function dw(e){return Number(e[0].split(":")[1])}function d_(e){return`0x${e.toString(16)}`}class dI{constructor(){dv(this,"events",new x.EventEmitter),dv(this,"namespace","eip155"),dv(this,"accounts",[]),dv(this,"signer"),dv(this,"chainId",1),dv(this,"modal"),dv(this,"rpc"),dv(this,"STORAGE_KEY","wc@2:ethereum_provider:"),dv(this,"on",(e,t)=>(this.events.on(e,t),this)),dv(this,"once",(e,t)=>(this.events.once(e,t),this)),dv(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),dv(this,"off",(e,t)=>(this.events.off(e,t),this)),dv(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new dI;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);let{required:t,optional:i}=function(e){let{chains:t,optionalChains:i,methods:r,optionalMethods:s,events:n,optionalEvents:a,rpcMap:o}=e;if(!rd(t))throw Error("Invalid chains");let c={chains:t,methods:r||dn,events:n||dc,rpcMap:dm({},t.length?{[dw(t)]:o[dw(t)]}:{})},h=n?.filter(e=>!dc.includes(e)),d=r?.filter(e=>!dn.includes(e));if(!i&&!a&&!s&&!(null!=h&&h.length)&&!(null!=d&&d.length))return{required:t.length?c:void 0};let l={chains:[...new Set(h?.length&&d?.length||!i?c.chains.concat(i||[]):i)],methods:[...new Set(c.methods.concat(null!=s&&s.length?s:da))],events:[...new Set(c.events.concat(null!=a&&a.length?a:dh))],rpcMap:o};return{required:t.length?c:void 0,optional:i.length?l:void 0}}(this.rpc);try{let r=await new Promise(async(r,s)=>{var n;this.rpc.showQrModal&&(null==(n=this.modal)||n.subscribeModal(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),s(Error("Connection request reset. Please try again.")))})),await this.signer.connect(dy(dm({namespaces:dm({},t&&{[this.namespace]:t})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic})).then(e=>{r(e)}).catch(e=>{s(Error(e.message))})});if(!r)return;let s=eI(r.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:d_(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{this.modal&&this.modal.closeModal()}}async authenticate(e,t){if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let i=await new Promise(async(i,r)=>{var s;this.rpc.showQrModal&&(null==(s=this.modal)||s.subscribeModal(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),r(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(dy(dm({},e),{chains:this.rpc.chains}),t).then(e=>{i(e)}).catch(e=>{r(Error(e.message))})}),r=i.session;if(r){let e=eI(r.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:d_(this.chainId)})}return i}catch(e){throw this.signer.logger.error(e),e}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",e=>{let{params:t}=e,{event:i}=t;"accountsChanged"===i.name?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===i.name?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{let t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",d_(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",dy(dm({},rh("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,i;this.rpc.showQrModal&&(null==(t=this.modal)||t.closeModal(),null==(i=this.modal)||i.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",d_(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,i,r]=e.split(":");return{chainId:`${t}:${i}`,address:r}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,i;let r=null!=(t=e?.chains)?t:[],s=null!=(i=e?.optionalChains)?i:[],n=r.concat(s);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let a=r.length?e?.methods||dn:[],o=r.length?e?.events||dc:[],c=e?.optionalMethods||[],h=e?.optionalEvents||[],d=e?.rpcMap||this.buildRpcMap(n,e.projectId),l=e?.qrModalOptions||void 0;return{chains:r?.map(e=>this.formatChainId(e)),optionalChains:s.map(e=>this.formatChainId(e)),methods:a,events:o,optionalMethods:c,optionalEvents:h,rpcMap:d,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:l,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let i={};
10return e.forEach(e=>{i[e]=this.getRpcUrl(e,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?dw(this.rpc.chains):dw(this.rpc.optionalChains),this.signer=await ds.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let{WalletConnectModal:t}=await i.e(979).then(i.bind(i,60979));e=t}catch{throw Error("To use QR modal, please install @walletconnect/modal package")}if(e)try{this.modal=new e(dm({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(e){throw this.signer.logger.error(e),Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:i,rpcMap:r}=e;t&&rd(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=r?.[e]||this.getRpcUrl(e)})),i&&rd(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(e=>this.formatChainId(e)),i.forEach(e=>{this.rpc.rpcMap[e]=r?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var i;return(null==(i=this.rpc.rpcMap)?void 0:i[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}}let dS=dI},41904:function(e,t,i){"use strict";i.d(t,{Ep:function(){return E},Fd:function(){return S},Rt:function(){return P},gw:function(){return s.a},jI:function(){return I}});var r=i(79631),s=i.n(r),n=i(33469);let a={level:"info"},o="custom_context";class c{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class h{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new c(e);if(t.size>this.maxSizeInBytes)throw Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?this.tail&&(this.tail.next=t):this.head=t,this.tail=t,this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;null!==t;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};let t=e.value;return e=e.next,{done:!1,value:t}}}}}class d{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=r.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new h(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===r.levels.values.error?console.error(e):t===r.levels.values.warn?console.warn(e):t===r.levels.values.debug?console.debug(e):t===r.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,n.u)({timestamp:new Date().toISOString(),log:e}));let t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new h(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push((0,n.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class l{constructor(e,t=1024e3){this.baseChunkLogger=new d(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){let t=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new d(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var f=Object.defineProperty,p=Object.defineProperties,g=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,v=(e,t,i)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,w=(e,t)=>{for(var i in t||(t={}))m.call(t,i)&&v(e,i,t[i]);if(b)for(var i of b(t))y.call(t,i)&&v(e,i,t[i]);return e},_=(e,t)=>
10p(e,g(t));function I(e){return _(w({},e),{level:e?.level||a.level})}function S(e,t=o){return typeof e.bindings>"u"?function(e,t=o){return e[t]||""}(e,t):e.bindings().context||""}function E(e,t,i=o){let r=function(e,t,i=o){let r=S(e,i);return r.trim()?`${r}/${t}`:t}(e,t,i);return function(e,t,i=o){return e[i]=t,e}(e.child({context:r}),r,i)}function P(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,i;let r=new l(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(_(w({},e.opts),{level:"trace",browser:_(w({},null==(i=e.opts)?void 0:i.browser),{write:e=>r.write(e)})})),chunkLoggerController:r}}(e):function(e){var t;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(_(w({},e.opts),{level:"trace"}),i),chunkLoggerController:i}}(e)}},64653:function(e,t,i){!function(e,t){"use strict";function r(e,t){if(!e)throw Error(t||"Assertion failed")}function s(e,t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}function n(e,t,i){if(n.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(i=t,t=10),this._init(e||0,t||10,i||"be"))}
vendor: 4,182 bytes, line 10
10"object"==typeof e?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;try{h="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(15290).Buffer}catch(e){}function a(e,t){var i=e.charCodeAt(t);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function o(e,t,i){var r=a(e,i);return i-1>=t&&(r|=a(e,i-1)<<4),r}function c(e,t,i,r){for(var s=0,n=Math.min(e.length,i),a=t;a<n;a++){var o=e.charCodeAt(a)-48;s*=r,o>=49?s+=o-49+10:o>=17?s+=o-17+10:s+=o}return s}n.isBN=function(e){return e instanceof n||null!==e&&"object"==typeof e&&e.constructor.wordSize===n.wordSize&&Array.isArray(e.words)},n.max=function(e,t){return e.cmp(t)>0?e:t},n.min=function(e,t){return 0>e.cmp(t)?e:t},n.prototype._init=function(e,t,i){if("number"==typeof e)return this._initNumber(e,t,i);if("object"==typeof e)return this._initArray(e,t,i);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var s=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(s++,this.negative=1),s<e.length&&(16===t?this._parseHex(e,s,i):(this._parseBase(e,t,s),"le"===i&&this._initArray(this.toArray(),t,i)))},n.prototype._initNumber=function(e,t,i){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),t,i)},n.prototype._initArray=function(e,t,i){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var s,n,a=0;a<this.length;a++)this.words[a]=0;var o=0;if("be"===i)for(a=e.length-1,s=0;a>=0;a-=3)n=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[s]|=n<<o&67108863,this.words[s+1]=n>>>26-o&67108863,(o+=24)>=26&&(o-=26,s++);else if("le"===i)for(a=0,s=0;a<e.length;a+=3)n=e[a]|e[a+1]<<8|e[a+2]<<16,this.words[s]|=n<<o&67108863,this.words[s+1]=n>>>26-o&67108863,(o+=24)>=26&&(o-=26,s++);return this.strip()},n.prototype._parseHex=function(e,t,i){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r,s=0;s<this.length;s++)this.words[s]=0;var n=0,a=0;if("be"===i)for(s=e.length-1;s>=t;s-=2)r=o(e,t,s)<<n,this.words[a]|=67108863&r,n>=18?(n-=18,a+=1,this.words[a]|=r>>>26):n+=8;else for(s=(e.length-t)%2==0?t+1:t;s<e.length;s+=2)r=o(e,t,s)<<n,this.words[a]|=67108863&r,n>=18?(n-=18,a+=1,this.words[a]|=r>>>26):n+=8;this.strip()},n.prototype._parseBase=function(e,t,i){this.words=[0],this.length=1;for(var r=0,s=1;s<=67108863;s*=t)r++;r--,s=s/t|0;for(var n=e.length-i,a=n%r,o=Math.min(n,n-a)+i,h=0,d=i;d<o;d+=r)h=c(e,d,d+r,t),this.imuln(s),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h);if(0!==a){var l=1;for(h=c(e,d,e.length,t),d=0;d<a;d++)l*=t;this.imuln(l),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h)}this.strip()},n.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},n.prototype.clone=function(){var e=new n(null);return this.copy(e),e},n.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var h,d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],u=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,143489
vendor: 12,564 bytes, line 10
1007,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,i){i.negative=t.negative^e.negative;var r=e.length+t.length|0;i.length=r,r=r-1|0;var s=0|e.words[0],n=0|t.words[0],a=s*n,o=67108863&a,c=a/67108864|0;i.words[0]=o;for(var h=1;h<r;h++){for(var d=c>>>26,l=67108863&c,u=Math.min(h,t.length-1),f=Math.max(0,h-e.length+1);f<=u;f++){var p=h-f|0;d+=(a=(s=0|e.words[p])*(n=0|t.words[f])+l)/67108864|0,l=67108863&a}i.words[h]=0|l,c=0|d}return 0!==c?i.words[h]=0|c:i.length--,i.strip()}n.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){i="";for(var i,s=0,n=0,a=0;a<this.length;a++){var o=this.words[a],c=((o<<s|n)&16777215).toString(16);n=o>>>24-s&16777215,(s+=2)>=26&&(s-=26,a--),i=0!==n||a!==this.length-1?d[6-c.length]+c+i:c+i}for(0!==n&&(i=n.toString(16)+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(e===(0|e)&&e>=2&&e<=36){var h=l[e],f=u[e];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(e);i=(p=p.idivn(f)).isZero()?g+i:d[h-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%t!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(e,t){return r(void 0!==h),this.toArrayLike(h,e,t)},n.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},n.prototype.toArrayLike=function(e,t,i){var s,n,a=this.byteLength(),o=i||Math.max(1,a);r(a<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var c=new e(o),h=this.clone();if("le"===t){for(n=0;!h.isZero();n++)s=h.andln(255),h.iushrn(8),c[n]=s;for(;n<o;n++)c[n]=0}else{for(n=0;n<o-a;n++)c[n]=0;for(n=0;!h.isZero();n++)s=h.andln(255),h.iushrn(8),c[o-n-1]=s}return c},Math.clz32?n.prototype._countBits=function(e){return 32-Math.clz32(e)}:n.prototype._countBits=function(e){var t=e,i=0;return t>=4096&&(i+=13,t>>>=13),t>=64&&(i+=7,t>>>=7),t>=8&&(i+=4,t>>>=4),t>=2&&(i+=2,t>>>=2),i+t},n.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,i=0;return(8191&t)==0&&(i+=13,t>>>=13),(127&t)==0&&(i+=7,t>>>=7),(15&t)==0&&(i+=4,t>>>=4),(3&t)==0&&(i+=2,t>>>=2),(1&t)==0&&i++,i},n.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var i=this._zeroBits(this.words[t]);if(e+=i,26!==i)break}return e},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},n.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},n.prototype.ior=function(e){return r((this.negative|e.negative)==0),this.iuor(e)},n.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},n.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},n.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var i=0;i<t.length;i++)this.words[i]=this.words[i]&e.words[i];return this.length=t.length,this.strip()},n.prototype.iand=function(e){return r((this.negative|e.negative)==0),this.iuand(e)},n.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},n.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},n.prototype.iuxor=function(e){this.length>e.length?(t=this,i=e):(t=e,i=this);for(var t,i,r=0;r<i.length;r++)this.words[r]=t.words[r]^i.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},n.prototype.ixor=function(e){return r((this.negative|e.negative)==0),this.iuxor(e)},n.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},n.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},n.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),i=e%26;this._expand(t),i>0&&t--;for(var s=0;s<t;s++)this.words[s]=67108863&~this.words[s];return i>0&&(this.words[s]=~this.words[s]&67108863>>26-i),this.strip()},n.prototype.notn=function(e){return this.clone().inotn(e)},n.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var i=e/26|0,s=e%26;return this._expand(i+1),t?this.words[i]=this.words[i]|1<<s:this.words[i]=this.words[i]&~(1<<s),this.strip()},n.prototype.iadd=function(e){if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(i=this,r=e):(i=e,r=this);for(var t,i,r,s=0,n=0;n<r.length;n++)t=(0|i.words[n])+(0|r.words[n])+s,this.words[n]=67108863&t,s=t>>>26;for(;0!==s&&n<i.length;n++)t=(0|i.words[n])+s,this.words[n]=67108863&t,s=t>>>26;if(this.length=i.length,0!==s)this.words[this.length]=s,this.length++;else if(i!==this)for(;n<i.length;n++)this.words[n]=i.words[n];return this},n.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},n.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,i,r=this.iadd(e);return e.negative=1,r._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var s=this.cmp(e);if(0===s)return this.negative=0,this.length=1,this.words[0]=0,this;s>0?(t=this,i=e):(t=e,i=this);for(var n=0,a=0;a<i.length;a++)n=(r=(0|t.words[a])-(0|i.words[a])+n)>>26,this.words[a]=67108863&r;for(;0!==n&&a<t.length;a++)n=(r=(0|t.words[a])+n)>>26,this.words[a]=67108863&r;if(0===n&&a<t.length&&t!==this)for(;a<t.length;a++)this.words[a]=t.words[a];return this.length=Math.max(this.length,a),t!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,i){var r,s,n,a=e.words,o=t.words,c=i.words,h=0,d=0|a[0],l=8191&d,u=d>>>13,f=0|a[1],p=8191&f,g=f>>>13,b=0|a[2],m=8191&b,y=b>>>13,v=0|a[3],w=8191&v,_=v>>>13,I=0|a[4],S=8191&I,E=I>>>13,P=0|a[5],M=8191&P,x=P>>>13,A=0|a[6],O=8191&A,R=A>>>13,N=0|a[7],q=8191&N,C=N>>>13,T=0|a[8],j=8191&T,k=T>>>13,z=0|a[9],$=8191&z,L=z>>>13,D=0|o[0],U=8191&D,B=D>>>13,V=0|o[1],K=8191&V,H=V>>>13,F=0|o[2],J=8191&F,G=F>>>13,W=0|o[3],Z=8191&W,Q=W>>>13,Y=0|o[4],X=8191&Y,ee=Y>>>13,et=0|o[5],ei=8191&et,er=et>>>13,es=0|o[6],en=8191&es,ea=es>>>13,eo=0|o[7],ec=8191&eo,eh=eo>>>13,ed=0|o[8],el=8191&ed,eu=ed>>>13,ef=0|o[9],ep=8191&ef,eg=ef>>>13;i.negative=e.negative^t.negative,i.length=19;var eb=(h+(r=Math.imul(l,U))|0)+((8191&(s=(s=Math.imul(l,B))+Math.imul(u,U)|0))<<13)|0;h=((n=Math.imul(u,B))+(s>>>13)|0)+(eb>>>26)|0,eb&=67108863,r=Math.imul(p,U),s=(s=Math.imul(p,B))+Math.imul(g,U)|0,n=Math.imul(g,B);var em=(h+(r=r+Math.imul(l,K)|0)|0)+((8191&(s=(s=s+Math.imul(l,H)|0)+Math.imul(u,K)|0))<<13)|0;h=((n=n+Math.imul(u,H)|0)+(s>>>13)|0)+(em>>>26)|0,em&=67108863,r=Math.imul(m,U),s=(s=Math.imul(m,B))+Math.imul(y,U)|0,n=Math.imul(y,B),r=r+Math.imul(p,K)|0,s=(s=s+Math.imul(p,H)|0)+Math.imul(g,K)|0,n=n+Math.imul(g,H)|0;var ey=(h+(r=r+Math.imul(l,J)|0)|0)+((8191&(s=(s=s+Math.imul(l,G)|0)+Math.imul(u,J)|0))<<13)|0;h=((n=n+Math.imul(u,G)|0)+(s>>>13)|0)+(ey>>>26)|0,ey&=67108863,r=Math.imul(w,U),s=(s=Math.imul(w,B))+Math.imul(_,U)|0,n=Math.imul(_,B),r=r+Math.imul(m,K)|0,s=(s=s+Math.imul(m,H)|0)+Math.imul(y,K)|0,n=n+Math.imul(y,H)|0,r=r+Math.imul(p,J)|0,s=(s=s+Math.imul(p,G)|0)+Math.imul(g,J)|0,n=n+Math.imul(g,G)|0;var ev=(h+(r=r+Math.imul(l,Z)|0)|0)+((8191&(s=(s=s+Math.imul(l,Q)|0)+Math.imul(u,Z)|0))<<13)|0;h=((n=n+Math.imul(u,Q)|0)+(s>>>13)|0)+(ev>>>26)|0,ev&=67108863,r=Math.imul(S,U),s=(s=Math.imul(S,B))+Math.imul(E,U)|0,n=Math.imul(E,B),r=r+Math.imul(w,K)|0,s=(s=s+Math.imul(w,H)|0)+Math.imul(_,K)|0,n=n+Math.imul(_,H)|0,r=r+Math.imul(m,J)|0,s=(s=s+Math.imul(m,G)|0)+Math.imul(y,J)|0,n=n+Math.imul(y,G)|0,r=r+Math.imul(p,Z)|0,s=(s=s+Math.imul(p,Q)|0)+Math.imul(g,Z)|0,n=n+Math.imul(g,Q)|0;var ew=(h+(r=r+Math.imul(l,X)|0)|0)+((8191&(s=(s=s+Math.imul(l,ee)|0)+Math.imul(u,X)|0))<<13)|0;h=((n=n+Math.imul(u,ee)|0)+(s>>>13)|0)+(ew>>>26)|0,ew&=67108863,r=Math.imul(M,U),s=(s=Math.imul(M,B))+Math.imul(x,U)|0,n=Math.imul(x,B),r=r+Math.imul(S,K)|0,s=(s=s+Math.imul(S,H)|0)+Math.imul(E,K)|0,n=n+Math.imul(E,H)|0,r=r+Math.imul(w,J)|0,s=(s=s+Math.imul(w,G)|0)+Math.imul(_,J)|0,n=n+Math.imul(_,G)|0,r=r+Math.imul(m,Z)|0,s=(s=s+Math.imul(m,Q)|0)+Math.imul(y,Z)|0,n=n+Math.imul(y,Q)|0,r=r+Math.imul(p,X)|0,s=(s=s+Math.imul(p,ee)|0)+Math.imul(g,X)|0,n=n+Math.imul(g,ee)|0;var e_=(h+(r=r+Math.imul(l,ei)|0)|0)+((8191&(s=(s=s+Math.imul(l,er)|0)+Math.imul(u,ei)|0))<<13)|0;h=((n=n+Math.imul(u,er)|0)+(s>>>13)|0)+(e_>>>26)|0,e_&=67108863,r=Math.imul(O,U),s=(s=Math.imul(O,B))+Math.imul(R,U)|0,n=Math.imul(R,B),r=r+Math.imul(M,K)|0,s=(s=s+Math.imul(M,H)|0)+Math.imul(x,K)|0,n=n+Math.imul(x,H)|0,r=r+Math.imul(S,J)|0,s=(s=s+Math.imul(S,G)|0)+Math.imul(E,J)|0,n=n+Math.imul(E,G)|0,r=r+Math.imul(w,Z)|0,s=(s=s+Math.imul(w,Q)|0)+Math.imul(_,Z)|0,n=n+Math.imul(_,Q)|0,r=r+Math.imul(m,X)|0,s=(s=s+Math.imul(m,ee)|0)+Math.imul(y,X)|0,n=n+Math.imul(y,ee)|0,r=r+Math.imul(p,ei)|0,s=(s=s+Math.imul(p,er)|0)+Math.imul(g,ei)|0,n=n+Math.imul(g,er)|0;var eI=(h+(r=r+Math.imul(l,en)|0)|0)+((8191&(s=(s=s+Math.imul(l,ea)|0)+Math.imul(u,en)|0))<<13)|0;h=((n=n+Math.imul(u,ea)|0)+(s>>>13)|0)+(eI>>>26)|0,eI&=67108863,r=Math.imul(q,U),s=(s=Math.imul(q,B))+Math.imul(C,U)|0,n=Math.imul(C,B),r=r+Math.imul(O,K)|0,s=(s=s+Math.imul(O,H)|0)+Math.imul(R,K)|0,n=n+Math.imul(R,H)|0,r=r+Math.imul(M,J)|0,s=(s=s+Math.imul(M,G)|0)+Math.imul(x,J)|0,n=n+Math.imul(x,G)|0,r=r+Math.imul(S,Z)|0,s=(s=s+Math.imul(S,Q)|0)+Math.imul(E,Z)|0,n=n+Math.imul(E,Q)|0,r=r+Math.imul(w,X)|0,s=(s=s+Math.imul(w,ee)|0)+Math.imul(_,X)|0,n=n+Math.imul(_,ee)|0,r=r+Math.imul(m,ei)|0,s=(s=s+Math.imul(m,er)|0)+Math.imul(y,ei)|0,n=n+Math.imul(y,er)|0,r=r+Math.imul(p,en)|0,s=(s=s+Math.imul(p,ea)|0)+Math.imul(g,en)|0,n=n+Math.imul(g,ea)|0;var eS=(h+(r=r+Math.imul(l,ec)|0)|0)+((8191&(s=(s=s+Math.imul(l,eh)|0)+Math.imul(u,ec)|0))<<13)|0;h=((n=n+Math.imul(u,eh)|0)+(s>>>13)|0)+(eS>>>26)|0,eS&=67108863,r=Math.imul(j,U),s=(s=Math.imul(j,B))+Math.imul(k,U)|0,n=Math.imul(k,B),r=r+Math.imul(q,K)|0,s=(s=s+Math.imul(q,H)|0)+Math.imul(C,K)|0,n=n+Math.imul(C,H)|0,r=r+Math.imul(O,J)|0,s=(s=s+Math.imul(O,G)|0)+Math.imul(R,J)|0,n=n+Math.imul(R,G)|0,r=r+Math.imul(M,Z)|0,s=(s=s+Math.imul(M,Q)|0)+Math.imul(x,Z)|0,n=n+Math.imul(x,Q)|0,r=r+Math.imul(S,X)|0,s=(s=s+Math.imul(S,ee)|0)+Math.imul(E,X)|0,n=n+Math.imul(E,ee)|0,r=r+Math.imul(w,ei)|0,s=(s=s+Math.imul(w,er)|0)+Math.imul(_,ei)|0,n=n+Math.imul(_,er)|0,r=r+Math.imul(m,en)|0,s=(s=s+Math.imul(m,ea)|0)+Math.imul(y,en)|0,n=n+Math.imul(y,ea)|0,r=r+Math.imul(p,ec)|0,s=(s=s+Math.imul(p,eh)|0)+Math.imul(g,ec)|0,n=n+Math.imul(g,eh)|0;var eE=(h+(r=r+Math.imul(l,el)|0)|0)+((8191&(s=(s=s+Math.imul(l,eu)|0)+Math.imul(u,el)|0))<<13)|0;h=((n=n+Math.imul(u,eu)|0)+(s>>>13)|0)+(eE>>>26)|0,eE&=67108863,r=Math.imul($,U),s=(s=Math.imul($,B))+Math.imul(L,U)|0,n=Math.imul(L,B),r=r+Math.imul(j,K)|0,s=(s=s+Math.imul(j,H)|0)+Math.imul(k,K)|0,n=n+Math.imul(k,H)|0,r=r+Math.imul(q,J)|0,s=(s=s+Math.imul(q,G)|0)+Math.imul(C,J)|0,n=n+Math.imul(C,G)|0,r=r+Math.imul(O,Z)|0,s=(s=s+Math.imul(O,Q)|0)+Math.imul(R,Z)|0,n=n+Math.imul(R,Q)|0,r=r+Math.imul(M,X)|0,s=(s=s+Math.imul(M,ee)|0)+Math.imul(x,X)|0,n=n+Math.imul(x,ee)|0,r=r+Math.imul(S,ei)|0,s=(s=s+Math.imul(S,er)|0)+Math.imul(E,ei)|0,n=n+Math.imul(E,er)|0,r=r+Math.imul(w,en)|0,s=(s=s+Math.imul(w,ea)|0)+Math.imul(_,en)|0,n=n+Math.imul(_,ea)|0,r=r+Math.imul(m,ec)|0,s=(s=s+Math.imul(m,eh)|0)+Math.imul(y,ec)|0,n=n+Math.imul(y,eh)|0,r=r+Math.imul(p,el)|0,s=(s=s+Math.imul(p,eu)|0)+Math.imul(g,el)|0,n=n+Math.imul(g,eu)|0;
vendor: 4,098 bytes, line 10
10var eP=(h+(r=r+Math.imul(l,ep)|0)|0)+((8191&(s=(s=s+Math.imul(l,eg)|0)+Math.imul(u,ep)|0))<<13)|0;h=((n=n+Math.imul(u,eg)|0)+(s>>>13)|0)+(eP>>>26)|0,eP&=67108863,r=Math.imul($,K),s=(s=Math.imul($,H))+Math.imul(L,K)|0,n=Math.imul(L,H),r=r+Math.imul(j,J)|0,s=(s=s+Math.imul(j,G)|0)+Math.imul(k,J)|0,n=n+Math.imul(k,G)|0,r=r+Math.imul(q,Z)|0,s=(s=s+Math.imul(q,Q)|0)+Math.imul(C,Z)|0,n=n+Math.imul(C,Q)|0,r=r+Math.imul(O,X)|0,s=(s=s+Math.imul(O,ee)|0)+Math.imul(R,X)|0,n=n+Math.imul(R,ee)|0,r=r+Math.imul(M,ei)|0,s=(s=s+Math.imul(M,er)|0)+Math.imul(x,ei)|0,n=n+Math.imul(x,er)|0,r=r+Math.imul(S,en)|0,s=(s=s+Math.imul(S,ea)|0)+Math.imul(E,en)|0,n=n+Math.imul(E,ea)|0,r=r+Math.imul(w,ec)|0,s=(s=s+Math.imul(w,eh)|0)+Math.imul(_,ec)|0,n=n+Math.imul(_,eh)|0,r=r+Math.imul(m,el)|0,s=(s=s+Math.imul(m,eu)|0)+Math.imul(y,el)|0,n=n+Math.imul(y,eu)|0;var eM=(h+(r=r+Math.imul(p,ep)|0)|0)+((8191&(s=(s=s+Math.imul(p,eg)|0)+Math.imul(g,ep)|0))<<13)|0;h=((n=n+Math.imul(g,eg)|0)+(s>>>13)|0)+(eM>>>26)|0,eM&=67108863,r=Math.imul($,J),s=(s=Math.imul($,G))+Math.imul(L,J)|0,n=Math.imul(L,G),r=r+Math.imul(j,Z)|0,s=(s=s+Math.imul(j,Q)|0)+Math.imul(k,Z)|0,n=n+Math.imul(k,Q)|0,r=r+Math.imul(q,X)|0,s=(s=s+Math.imul(q,ee)|0)+Math.imul(C,X)|0,n=n+Math.imul(C,ee)|0,r=r+Math.imul(O,ei)|0,s=(s=s+Math.imul(O,er)|0)+Math.imul(R,ei)|0,n=n+Math.imul(R,er)|0,r=r+Math.imul(M,en)|0,s=(s=s+Math.imul(M,ea)|0)+Math.imul(x,en)|0,n=n+Math.imul(x,ea)|0,r=r+Math.imul(S,ec)|0,s=(s=s+Math.imul(S,eh)|0)+Math.imul(E,ec)|0,n=n+Math.imul(E,eh)|0,r=r+Math.imul(w,el)|0,s=(s=s+Math.imul(w,eu)|0)+Math.imul(_,el)|0,n=n+Math.imul(_,eu)|0;var ex=(h+(r=r+Math.imul(m,ep)|0)|0)+((8191&(s=(s=s+Math.imul(m,eg)|0)+Math.imul(y,ep)|0))<<13)|0;h=((n=n+Math.imul(y,eg)|0)+(s>>>13)|0)+(ex>>>26)|0,ex&=67108863,r=Math.imul($,Z),s=(s=Math.imul($,Q))+Math.imul(L,Z)|0,n=Math.imul(L,Q),r=r+Math.imul(j,X)|0,s=(s=s+Math.imul(j,ee)|0)+Math.imul(k,X)|0,n=n+Math.imul(k,ee)|0,r=r+Math.imul(q,ei)|0,s=(s=s+Math.imul(q,er)|0)+Math.imul(C,ei)|0,n=n+Math.imul(C,er)|0,r=r+Math.imul(O,en)|0,s=(s=s+Math.imul(O,ea)|0)+Math.imul(R,en)|0,n=n+Math.imul(R,ea)|0,r=r+Math.imul(M,ec)|0,s=(s=s+Math.imul(M,eh)|0)+Math.imul(x,ec)|0,n=n+Math.imul(x,eh)|0,r=r+Math.imul(S,el)|0,s=(s=s+Math.imul(S,eu)|0)+Math.imul(E,el)|0,n=n+Math.imul(E,eu)|0;var eA=(h+(r=r+Math.imul(w,ep)|0)|0)+((8191&(s=(s=s+Math.imul(w,eg)|0)+Math.imul(_,ep)|0))<<13)|0;h=((n=n+Math.imul(_,eg)|0)+(s>>>13)|0)+(eA>>>26)|0,eA&=67108863,r=Math.imul($,X),s=(s=Math.imul($,ee))+Math.imul(L,X)|0,n=Math.imul(L,ee),r=r+Math.imul(j,ei)|0,s=(s=s+Math.imul(j,er)|0)+Math.imul(k,ei)|0,n=n+Math.imul(k,er)|0,r=r+Math.imul(q,en)|0,s=(s=s+Math.imul(q,ea)|0)+Math.imul(C,en)|0,n=n+Math.imul(C,ea)|0,r=r+Math.imul(O,ec)|0,s=(s=s+Math.imul(O,eh)|0)+Math.imul(R,ec)|0,n=n+Math.imul(R,eh)|0,r=r+Math.imul(M,el)|0,s=(s=s+Math.imul(M,eu)|0)+Math.imul(x,el)|0,n=n+Math.imul(x,eu)|0;var eO=(h+(r=r+Math.imul(S,ep)|0)|0)+((8191&(s=(s=s+Math.imul(S,eg)|0)+Math.imul(E,ep)|0))<<13)|0;h=((n=n+Math.imul(E,eg)|0)+(s>>>13)|0)+(eO>>>26)|0,eO&=67108863,r=Math.imul($,ei),s=(s=Math.imul($,er))+Math.imul(L,ei)|0,n=Math.imul(L,er),r=r+Math.imul(j,en)|0,s=(s=s+Math.imul(j,ea)|0)+Math.imul(k,en)|0,n=n+Math.imul(k,ea)|0,r=r+Math.imul(q,ec)|0,s=(s=s+Math.imul(q,eh)|0)+Math.imul(C,ec)|0,n=n+Math.imul(C,eh)|0,r=r+Math.imul(O,el)|0,s=(s=s+Math.imul(O,eu)|0)+Math.imul(R,el)|0,n=n+Math.imul(R,eu)|0;var eR=(h+(r=r+Math.imul(M,ep)|0)|0)+((8191&(s=(s=s+Math.imul(M,eg)|0)+Math.imul(x,ep)|0))<<13)|0;h=((n=n+Math.imul(x,eg)|0)+(s>>>13)|0)+(eR>>>26)|0,eR&=67108863,r=Math.imul($,en),s=(s=Math.imul($,ea))+Math.imul(L,en)|0,n=Math.imul(L,ea),r=r+Math.imul(j,ec)|0,s=(s=s+Math.imul(j,eh)|0)+Math.imul(k,ec)|0,n=n+Math.imul(k,eh)|0,r=r+Math.imul(q,el)|0,s=(s=s+Math.imul(q,eu)|0)+Math.imul(C,el)|0,n=n+Math.imul(C,eu)|0;var eN=(h+(r=r+Math.imul(O,ep)|0)|0)+((8191&(s=(s=s+Math.imul(O,eg)|0)+Math.imul(R,ep)|0))<<13)|0;h=((n=n+Math.imul(R,eg)|0)+(s>>>13)|0)+(eN>>>26)|0,eN&=67108863,r=Math.imul($,ec),s=(s=Math.imul($,eh))+Math.imul(L,ec)|0,n=Math.imul(L,eh),r=r+Math.imul(j,el)|0,s=(s=s+Math.imul(j,eu)|0)+Math.imul(k,el)|0,n=n+Math.imul(k,eu)|0;
vendor: 23,510 bytes, line 10
10var eq=(h+(r=r+Math.imul(q,ep)|0)|0)+((8191&(s=(s=s+Math.imul(q,eg)|0)+Math.imul(C,ep)|0))<<13)|0;h=((n=n+Math.imul(C,eg)|0)+(s>>>13)|0)+(eq>>>26)|0,eq&=67108863,r=Math.imul($,el),s=(s=Math.imul($,eu))+Math.imul(L,el)|0,n=Math.imul(L,eu);var eC=(h+(r=r+Math.imul(j,ep)|0)|0)+((8191&(s=(s=s+Math.imul(j,eg)|0)+Math.imul(k,ep)|0))<<13)|0;h=((n=n+Math.imul(k,eg)|0)+(s>>>13)|0)+(eC>>>26)|0,eC&=67108863;var eT=(h+(r=Math.imul($,ep))|0)+((8191&(s=(s=Math.imul($,eg))+Math.imul(L,ep)|0))<<13)|0;return h=((n=Math.imul(L,eg))+(s>>>13)|0)+(eT>>>26)|0,eT&=67108863,c[0]=eb,c[1]=em,c[2]=ey,c[3]=ev,c[4]=ew,c[5]=e_,c[6]=eI,c[7]=eS,c[8]=eE,c[9]=eP,c[10]=eM,c[11]=ex,c[12]=eA,c[13]=eO,c[14]=eR,c[15]=eN,c[16]=eq,c[17]=eC,c[18]=eT,0!==h&&(c[19]=h,i.length++),i};function g(e,t,i){return new b().mulp(e,t,i)}function b(e,t){this.x=e,this.y=t}Math.imul||(p=f),n.prototype.mulTo=function(e,t){var i=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):i<63?f(this,e,t):i<1024?function(e,t,i){i.negative=t.negative^e.negative,i.length=e.length+t.length;for(var r=0,s=0,n=0;n<i.length-1;n++){var a=s;s=0;for(var o=67108863&r,c=Math.min(n,t.length-1),h=Math.max(0,n-e.length+1);h<=c;h++){var d=n-h,l=(0|e.words[d])*(0|t.words[h]),u=67108863&l;a=a+(l/67108864|0)|0,o=67108863&(u=u+o|0),s+=(a=a+(u>>>26)|0)>>>26,a&=67108863}i.words[n]=o,r=a,a=s}return 0!==r?i.words[n]=r:i.length--,i.strip()}(this,e,t):g(this,e,t)},b.prototype.makeRBT=function(e){for(var t=Array(e),i=n.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,i,e);return t},b.prototype.revBin=function(e,t,i){if(0===e||e===i-1)return e;for(var r=0,s=0;s<t;s++)r|=(1&e)<<t-s-1,e>>=1;return r},b.prototype.permute=function(e,t,i,r,s,n){for(var a=0;a<n;a++)r[a]=t[e[a]],s[a]=i[e[a]]},b.prototype.transform=function(e,t,i,r,s,n){this.permute(n,e,t,i,r,s);for(var a=1;a<s;a<<=1)for(var o=a<<1,c=Math.cos(2*Math.PI/o),h=Math.sin(2*Math.PI/o),d=0;d<s;d+=o)for(var l=c,u=h,f=0;f<a;f++){var p=i[d+f],g=r[d+f],b=i[d+f+a],m=r[d+f+a],y=l*b-u*m;m=l*m+u*b,b=y,i[d+f]=p+b,r[d+f]=g+m,i[d+f+a]=p-b,r[d+f+a]=g-m,f!==o&&(y=c*l-h*u,u=c*u+h*l,l=y)}},b.prototype.guessLen13b=function(e,t){var i=1|Math.max(t,e),r=1&i,s=0;for(i=i/2|0;i;i>>>=1)s++;return 1<<s+1+r},b.prototype.conjugate=function(e,t,i){if(!(i<=1))for(var r=0;r<i/2;r++){var s=e[r];e[r]=e[i-r-1],e[i-r-1]=s,s=t[r],t[r]=-t[i-r-1],t[i-r-1]=-s}},b.prototype.normalize13b=function(e,t){for(var i=0,r=0;r<t/2;r++){var s=8192*Math.round(e[2*r+1]/t)+Math.round(e[2*r]/t)+i;e[r]=67108863&s,i=s<67108864?0:s/67108864|0}return e},b.prototype.convert13b=function(e,t,i,s){for(var n=0,a=0;a<t;a++)n+=0|e[a],i[2*a]=8191&n,n>>>=13,i[2*a+1]=8191&n,n>>>=13;for(a=2*t;a<s;++a)i[a]=0;r(0===n),r((-8192&n)==0)},b.prototype.stub=function(e){for(var t=Array(e),i=0;i<e;i++)t[i]=0;return t},b.prototype.mulp=function(e,t,i){var r=2*this.guessLen13b(e.length,t.length),s=this.makeRBT(r),n=this.stub(r),a=Array(r),o=Array(r),c=Array(r),h=Array(r),d=Array(r),l=Array(r),u=i.words;u.length=r,this.convert13b(e.words,e.length,a,r),this.convert13b(t.words,t.length,h,r),this.transform(a,n,o,c,r,s),this.transform(h,n,d,l,r,s);for(var f=0;f<r;f++){var p=o[f]*d[f]-c[f]*l[f];c[f]=o[f]*l[f]+c[f]*d[f],o[f]=p}return this.conjugate(o,c,r),this.transform(o,c,u,n,r,s),this.conjugate(u,n,r),this.normalize13b(u,r),i.negative=e.negative^t.negative,i.length=e.length+t.length,i.strip()},n.prototype.mul=function(e){var t=new n(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},n.prototype.mulf=function(e){var t=new n(null);return t.words=Array(this.length+e.length),g(this,e,t)},n.prototype.imul=function(e){return this.clone().mulTo(e,this)},n.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,i=0;i<this.length;i++){var s=(0|this.words[i])*e,n=(67108863&s)+(67108863&t);t>>=26,t+=(s/67108864|0)+(n>>>26),this.words[i]=67108863&n}return 0!==t&&(this.words[i]=t,this.length++),this.length=0===e?1:this.length,this},n.prototype.muln=function(e){return this.clone().imuln(e)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),i=0;i<t.length;i++){var r=i/26|0,s=i%26;t[i]=(e.words[r]&1<<s)>>>s}return t}(e);if(0===t.length)return new n(1);for(var i=this,r=0;r<t.length&&0===t[r];r++,i=i.sqr());if(++r<t.length)for(var s=i.sqr();r<t.length;r++,s=s.sqr())0!==t[r]&&(i=i.mul(s));return i},n.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,i=e%26,s=(e-i)/26,n=67108863>>>26-i<<26-i;if(0!==i){var a=0;for(t=0;t<this.length;t++){var o=this.words[t]&n,c=(0|this.words[t])-o<<i;this.words[t]=c|a,a=o>>>26-i}a&&(this.words[t]=a,this.length++)}if(0!==s){for(t=this.length-1;t>=0;t--)this.words[t+s]=this.words[t];for(t=0;t<s;t++)this.words[t]=0;this.length+=s}return this.strip()},n.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},n.prototype.iushrn=function(e,t,i){r("number"==typeof e&&e>=0),s=t?(t-t%26)/26:0;var s,n=e%26,a=Math.min((e-n)/26,this.length),o=67108863^67108863>>>n<<n;if(s-=a,s=Math.max(0,s),i){for(var c=0;c<a;c++)i.words[c]=this.words[c];i.length=a}if(0===a);else if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(0!==h||c>=s);c--){var d=0|this.words[c];this.words[c]=h<<26-n|d>>>n,h=d&o}return i&&0!==h&&(i.words[i.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(e,t,i){return r(0===this.negative),this.iushrn(e,t,i)},n.prototype.shln=function(e){return this.clone().ishln(e)},n.prototype.ushln=function(e){return this.clone().iushln(e)},n.prototype.shrn=function(e){return this.clone().ishrn(e)},n.prototype.ushrn=function(e){return this.clone().iushrn(e)},n.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26;return!(this.length<=i)&&!!(this.words[i]&1<<t)},n.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,i=(e-t)/26;return(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)?this:(0!==t&&i++,this.length=Math.min(i,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<<t),this.strip())},n.prototype.maskn=function(e){return this.clone().imaskn(e)},n.prototype.iaddn=function(e){return(r("number"==typeof e),r(e<67108864),e<0)?this.isubn(-e):0!==this.negative?(1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn(e),this.negative=1),this):this._iaddn(e)},n.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},n.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},n.prototype.addn=function(e){return this.clone().iaddn(e)},n.prototype.subn=function(e){return this.clone().isubn(e)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(e,t,i){var s,n,a=e.length+i;this._expand(a);var o=0;for(s=0;s<e.length;s++){n=(0|this.words[s+i])+o;var c=(0|e.words[s])*t;n-=67108863&c,o=(n>>26)-(c/67108864|0),this.words[s+i]=67108863&n}for(;s<this.length-i;s++)o=(n=(0|this.words[s+i])+o)>>26,this.words[s+i]=67108863&n;if(0===o)return this.strip();for(r(-1===o),o=0,s=0;s<this.length;s++)o=(n=-(0|this.words[s])+o)>>26,this.words[s]=67108863&n;return this.negative=1,this.strip()},n.prototype._wordDiv=function(e,t){var i,r=this.length-e.length,s=this.clone(),a=e,o=0|a.words[a.length-1];0!=(r=26-this._countBits(o))&&(a=a.ushln(r),s.iushln(r),o=0|a.words[a.length-1]);var c=s.length-a.length;if("mod"!==t){(i=new n(null)).length=c+1,i.words=Array(i.length);for(var h=0;h<i.length;h++)i.words[h]=0}var d=s.clone()._ishlnsubmul(a,1,c);0===d.negative&&(s=d,i&&(i.words[c]=1));for(var l=c-1;l>=0;l--){var u=(0|s.words[a.length+l])*67108864+(0|s.words[a.length+l-1]);for(u=Math.min(u/o|0,67108863),s._ishlnsubmul(a,u,l);0!==s.negative;)u--,s.negative=0,s._ishlnsubmul(a,1,l),s.isZero()||(s.negative^=1);i&&(i.words[l]=u)}return i&&i.strip(),s.strip(),"div"!==t&&0!==r&&s.iushrn(r),{div:i||null,mod:s}},n.prototype.divmod=function(e,t,i){var s,a,o;return(r(!e.isZero()),this.isZero())?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(s=o.div.neg()),"div"!==t&&(a=o.mod.neg(),i&&0!==a.negative&&a.iadd(e)),{div:s,mod:a}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(s=o.div.neg()),{div:s,mod:o.mod}):(this.negative&e.negative)!=0?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(a=o.mod.neg(),i&&0!==a.negative&&a.isub(e)),{div:o.div,mod:a}):e.length>this.length||0>this.cmp(e)?{div:new n(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new n(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new n(this.modn(e.words[0]))}:this._wordDiv(e,t)},n.prototype.div=function(e){return this.divmod(e,"div",!1).div},n.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},n.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},n.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var i=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),s=e.andln(1),n=i.cmp(r);return n<0||1===s&&0===n?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},n.prototype.modn=function(e){r(e<=67108863);for(var t=67108864%e,i=0,s=this.length-1;s>=0;s--)i=(t*i+(0|this.words[s]))%e;return i},n.prototype.idivn=function(e){r(e<=67108863);for(var t=0,i=this.length-1;i>=0;i--){var s=(0|this.words[i])+67108864*t;this.words[i]=s/e|0,t=s%e}return this.strip()},n.prototype.divn=function(e){return this.clone().idivn(e)},n.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,i=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var s=new n(1),a=new n(0),o=new n(0),c=new n(1),h=0;t.isEven()&&i.isEven();)t.iushrn(1),i.iushrn(1),++h;for(var d=i.clone(),l=t.clone();!t.isZero();){for(var u=0,f=1;(t.words[0]&f)==0&&u<26;++u,f<<=1);if(u>0)for(t.iushrn(u);u-- >0;)(s.isOdd()||a.isOdd())&&(s.iadd(d),a.isub(l)),s.iushrn(1),a.iushrn(1);for(var p=0,g=1;(i.words[0]&g)==0&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(d),c.isub(l)),o.iushrn(1),c.iushrn(1);t.cmp(i)>=0?(t.isub(i),s.isub(o),a.isub(c)):(i.isub(t),o.isub(s),c.isub(a))}return{a:o,b:c,gcd:i.iushln(h)}},n.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t,i=this,s=e.clone();i=0!==i.negative?i.umod(e):i.clone();for(var a=new n(1),o=new n(0),c=s.clone();i.cmpn(1)>0&&s.cmpn(1)>0;){for(var h=0,d=1;(i.words[0]&d)==0&&h<26;++h,d<<=1);if(h>0)for(i.iushrn(h);h-- >0;)a.isOdd()&&a.iadd(c),a.iushrn(1);for(var l=0,u=1;(s.words[0]&u)==0&&l<26;++l,u<<=1);if(l>0)for(s.iushrn(l);l-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);i.cmp(s)>=0?(i.isub(s),a.isub(o)):(s.isub(i),o.isub(a))}return 0>(t=0===i.cmpn(1)?a:o).cmpn(0)&&t.iadd(e),t},n.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),i=e.clone();t.negative=0,i.negative=0;for(var r=0;t.isEven()&&i.isEven();r++)t.iushrn(1),i.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;i.isEven();)i.iushrn(1);var s=t.cmp(i);if(s<0){var n=t;t=i,i=n}else if(0===s||0===i.cmpn(1))break;t.isub(i)}return i.iushln(r)},n.prototype.invm=function(e){return this.egcd(e).a.umod(e)},n.prototype.isEven=function(){return(1&this.words[0])==0},n.prototype.isOdd=function(){return(1&this.words[0])==1},n.prototype.andln=function(e){return this.words[0]&e},n.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,i=(e-t)/26,s=1<<t;if(this.length<=i)return this._expand(i+1),this.words[i]|=s,this;for(var n=s,a=i;0!==n&&a<this.length;a++){var o=0|this.words[a];o+=n,n=o>>>26,o&=67108863,this.words[a]=o}return 0!==n&&(this.words[a]=n,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(e){var t,i=e<0;if(0!==this.negative&&!i)return -1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)t=1;else{i&&(e=-e),r(e<=67108863,"Number is too big");var s=0|this.words[0];t=s===e?0:s<e?-1:1}return 0!==this.negative?0|-t:t},n.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return -1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},n.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return -1;for(var t=0,i=this.length-1;i>=0;i--){var r=0|this.words[i],s=0|e.words[i];if(r!==s){r<s?t=-1:r>s&&(t=1);break}}return t},n.prototype.gtn=function(e){return 1===this.cmpn(e)},n.prototype.gt=function(e){return 1===this.cmp(e)},n.prototype.gten=function(e){return this.cmpn(e)>=0},n.prototype.gte=function(e){return this.cmp(e)>=0},n.prototype.ltn=function(e){return -1===this.cmpn(e)},n.prototype.lt=function(e){return -1===this.cmp(e)},n.prototype.lten=function(e){return 0>=this.cmpn(e)},n.prototype.lte=function(e){return 0>=this.cmp(e)},n.prototype.eqn=function(e){return 0===this.cmpn(e)},n.prototype.eq=function(e){return 0===this.cmp(e)},n.red=function(e){return new S(e)},n.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(e){return this.red=e,this},n.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},n.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},n.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},n.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},n.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},n.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},n.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},n.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new n(t,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function I(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=n._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function E(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new n(null);return e.words=Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,i=e;do this.split(i,this.tmp),t=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength();while(t>this.n);var r=t<this.n?-1:i.ucmp(this.p);return 0===r?(i.words[0]=0,i.length=1):r>0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},s(v,y),v.prototype.split=function(e,t){for(var i=Math.min(e.length,9),r=0;r<i;r++)t.words[r]=e.words[r];if(t.length=i,e.length<=9){e.words[0]=0,e.length=1;return}var s=e.words[9];for(r=10,t.words[t.length++]=4194303&s;r<e.length;r++){var n=0|e.words[r];e.words[r-10]=(4194303&n)<<4|s>>>22,s=n}s>>>=22,e.words[r-10]=s,0===s&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,i=0;i<e.length;i++){var r=0|e.words[i];t+=977*r,e.words[i]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},s(w,y),s(_,y),s(I,y),I.prototype.imulK=function(e){for(var t=0,i=0;i<e.length;i++){var r=(0|e.words[i])*19+t,s=67108863&r;r>>>=26,e.words[i]=s,t=r}return 0!==t&&(e.words[e.length++]=t),e},n._prime=function(e){var t;if(m[e])return m[e];if("k256"===e)t=new v;else if("p224"===e)t=new w;else if("p192"===e)t=new _;else if("p25519"===e)t=new I;else throw Error("Unknown prime "+e);return m[e]=t,t},S.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){r((e.negative|t.negative)==0,"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var i=e.add(t);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var i=e.iadd(t);return i.cmp(this.m)>=0&&i.isub(this.m),i},S.prototype.sub=function(e,t){this._verify2(e,t);var i=e.sub(t);return 0>i.cmpn(0)&&i.iadd(this.m),i._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var i=e.isub(t);return 0>i.cmpn(0)&&i.iadd(this.m),i},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var i=this.m.add(new n(1)).iushrn(2);return this.pow(e,i)}for(var s=this.m.subn(1),a=0;!s.isZero()&&0===s.andln(1);)a++,s.iushrn(1);r(!s.isZero());var o=new n(1).toRed(this),c=o.redNeg(),h=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new n(2*d*d).toRed(this);0!==this.pow(d,h).cmp(c);)d.redIAdd(c);for(var l=this.pow(d,s),u=this.pow(e,s.addn(1).iushrn(1)),f=this.pow(e,s),p=a;0!==f.cmp(o);){for(var g=f,b=0;0!==g.cmp(o);b++)g=g.redSqr();r(b<p);var m=this.pow(l,new n(1).iushln(p-b-1));u=u.redMul(m),l=m.redSqr(),f=f.redMul(l),p=b}return u},S.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},S.prototype.pow=function(e,t){if(t.isZero())return new n(1).toRed(this);if(0===t.cmpn(1))return e.clone();var i=Array(16);i[0]=new n(1).toRed(this),i[1]=e;for(var r=2;r<i.length;r++)i[r]=this.mul(i[r-1],e);var s=i[0],a=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),r=t.length-1;r>=0;r--){for(var h=t.words[r],d=c-1;d>=0;d--){var l=h>>d&1;if(s!==i[0]&&(s=this.sqr(s)),0===l&&0===a){o=0;continue}a<<=1,a|=l,(4==++o||0===r&&0===d)&&(s=this.mul(s,i[a]),o=0,a=0)}c=26}return s},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},n.mont=function(e){return new E(e)},s(E,S),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var i=e.imul(t),r=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=i.isub(r).iushrn(this.shift),n=s;return s.cmp(this.m)>=0?n=s.isub(this.m):0>s.cmpn(0)&&(n=s.iadd(this.m)),n._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new n(0)._forceRed(this);var i=e.mul(t),r=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=i.isub(r).iushrn(this.shift),a=s;return s.cmp(this.m)>=0?a=s.isub(this.m):0>s.cmpn(0)&&(a=s.iadd(this.m)),a._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=i.nmd(e),this)},75212:function(e,t,i){var r;function s(e){this.rand=e}if(e.exports=function(e){return r||(r=new s(null)),r.generate(e)},e.exports.Rand=s,s.prototype.generate=function(e){return this._rand(e)},s.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),i=0;i<t.length;i++)t[i]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?s.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?s.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(s.prototype._rand=function(){throw Error("Not implemented yet")});else try{var n=i(81388);if("function"!=typeof n.randomBytes)throw Error("Not supported");s.prototype._rand=function(e){return n.randomBytes(e)}}catch(e){}},12521:function(e,t,i){"use strict";t.version=i(39662).i8,t.utils=i(489),t.rand=i(75212),t.curve=i(84642),t.curves=i(56662),t.ec=i(96451),t.eddsa=i(94393)},39491:function(e,t,i){"use strict";var r=i(64653),s=i(489),n=s.getNAF,a=s.getJSF,o=s.assert;function c(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var i=this.n&&this.p.div(this.n);!i||i.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}
10function h(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=c,c.prototype.point=function(){throw Error("Not implemented")},c.prototype.validate=function(){throw Error("Not implemented")},c.prototype._fixedNafMul=function(e,t){o(e.precomputed);var i,r,s=e._getDoubles(),a=n(t,1,this._bitLength),c=(1<<s.step+1)-(s.step%2==0?2:1);c/=3;var h=[];for(i=0;i<a.length;i+=s.step){r=0;for(var d=i+s.step-1;d>=i;d--)r=(r<<1)+a[d];h.push(r)}for(var l=this.jpoint(null,null,null),u=this.jpoint(null,null,null),f=c;f>0;f--){for(i=0;i<h.length;i++)(r=h[i])===f?u=u.mixedAdd(s.points[i]):r===-f&&(u=u.mixedAdd(s.points[i].neg()));l=l.add(u)}return l.toP()},c.prototype._wnafMul=function(e,t){var i=4,r=e._getNAFPoints(i);i=r.wnd;for(var s=r.points,a=n(t,i,this._bitLength),c=this.jpoint(null,null,null),h=a.length-1;h>=0;h--){for(var d=0;h>=0&&0===a[h];h--)d++;if(h>=0&&d++,c=c.dblp(d),h<0)break;var l=a[h];o(0!==l),c="affine"===e.type?l>0?c.mixedAdd(s[l-1>>1]):c.mixedAdd(s[-l-1>>1].neg()):l>0?c.add(s[l-1>>1]):c.add(s[-l-1>>1].neg())}return"affine"===e.type?c.toP():c},c.prototype._wnafMulAdd=function(e,t,i,r,s){var o,c,h,d=this._wnafT1,l=this._wnafT2,u=this._wnafT3,f=0;for(o=0;o<r;o++){var p=(h=t[o])._getNAFPoints(e);d[o]=p.wnd,l[o]=p.points}for(o=r-1;o>=1;o-=2){var g=o-1,b=o;if(1!==d[g]||1!==d[b]){u[g]=n(i[g],d[g],this._bitLength),u[b]=n(i[b],d[b],this._bitLength),f=Math.max(u[g].length,f),f=Math.max(u[b].length,f);continue}var m=[t[g],null,null,t[b]];0===t[g].y.cmp(t[b].y)?(m[1]=t[g].add(t[b]),m[2]=t[g].toJ().mixedAdd(t[b].neg())):0===t[g].y.cmp(t[b].y.redNeg())?(m[1]=t[g].toJ().mixedAdd(t[b]),m[2]=t[g].add(t[b].neg())):(m[1]=t[g].toJ().mixedAdd(t[b]),m[2]=t[g].toJ().mixedAdd(t[b].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],v=a(i[g],i[b]);for(c=0,f=Math.max(v[0].length,f),u[g]=Array(f),u[b]=Array(f);c<f;c++){var w=0|v[0][c],_=0|v[1][c];u[g][c]=y[(w+1)*3+(_+1)],u[b][c]=0,l[g]=m}}var I=this.jpoint(null,null,null),S=this._wnafT4;for(o=f;o>=0;o--){for(var E=0;o>=0;){var P=!0;for(c=0;c<r;c++)S[c]=0|u[c][o],0!==S[c]&&(P=!1);if(!P)break;E++,o--}if(o>=0&&E++,I=I.dblp(E),o<0)break;for(c=0;c<r;c++){var M=S[c];0!==M&&(M>0?h=l[c][M-1>>1]:M<0&&(h=l[c][-M-1>>1].neg()),I="affine"===h.type?I.mixedAdd(h):I.add(h))}}for(o=0;o<r;o++)l[o]=null;return s?I:I.toP()},c.BasePoint=h,h.prototype.eq=function(){throw Error("Not implemented")},h.prototype.validate=function(){return this.curve.validate(this)},c.prototype.decodePoint=function(e,t){e=s.toArray(e,t);var i=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*i)return 6===e[0]?o(e[e.length-1]%2==0):7===e[0]&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));if((2===e[0]||3===e[0])&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),3===e[0]);throw Error("Unknown point format")},h.prototype.encodeCompressed=function(e){return this.encode(e,!0)},h.prototype._encode=function(e){var t=this.curve.p.byteLength(),i=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",t))},h.prototype.encode=function(e,t){return s.encode(this._encode(t),e)},h.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},h.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},h.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],r=this,s=0;s<t;s+=e){for(var n=0;n<e;n++)r=r.dbl();i.push(r)}return{step:e,points:i}},h.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],i=(1<<e)-1,r=1===i?null:this.dbl(),s=1;s<i;s++)t[s]=t[s-1].add(r);return{wnd:e,points:t}},h.prototype._getBeta=function(){return null},h.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t}},38590:function(e,t,i){"use strict";var r=i(489),s=i(64653),n=i(13917),a=i(39491),o=r.assert;function c(e){this.twisted=(0|e.a)!=1,this.mOneA=this.twisted&&(0|e.a)==-1,this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new s(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new s(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new s(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=(0|e.c)==1}function h(e,t,i,r,n){a.BasePoint.call(this,e,"projective"),null===t&&null===i&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new s(t,16),this.y=new s(i,16),this.z=r?new s(r,16):this.curve.one,this.t=n&&new s(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,!this.curve.extended||this.t||(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}
vendor: 5,036 bytes, line 10
10n(c,a),e.exports=c,c.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},c.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},c.prototype.jpoint=function(e,t,i,r){return this.point(e,t,i,r)},c.prototype.pointFromX=function(e,t){(e=new s(e,16)).red||(e=e.toRed(this.red));var i=e.redSqr(),r=this.c2.redSub(this.a.redMul(i)),n=this.one.redSub(this.c2.redMul(this.d).redMul(i)),a=r.redMul(n.redInvm()),o=a.redSqrt();if(0!==o.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");var c=o.fromRed().isOdd();return(t&&!c||!t&&c)&&(o=o.redNeg()),this.point(e,o)},c.prototype.pointFromY=function(e,t){(e=new s(e,16)).red||(e=e.toRed(this.red));var i=e.redSqr(),r=i.redSub(this.c2),n=i.redMul(this.d).redMul(this.c2).redSub(this.a),a=r.redMul(n.redInvm());if(0===a.cmp(this.zero)){if(!t)return this.point(this.zero,e);throw Error("invalid point")}var o=a.redSqrt();if(0!==o.redSqr().redSub(a).cmp(this.zero))throw Error("invalid point");return o.fromRed().isOdd()!==t&&(o=o.redNeg()),this.point(o,e)},c.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=e.y.redSqr(),r=t.redMul(this.a).redAdd(i),s=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return 0===r.cmp(s)},n(h,a.BasePoint),c.prototype.pointFromJSON=function(e){return h.fromJSON(this,e)},c.prototype.point=function(e,t,i,r){return new h(this,e,t,i,r)},h.fromJSON=function(e,t){return new h(e,t[0],t[1],t[2])},h.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},h.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},h.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var r=this.curve._mulA(e),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),n=r.redAdd(t),a=n.redSub(i),o=r.redSub(t),c=s.redMul(a),h=n.redMul(o),d=s.redMul(o),l=a.redMul(n);return this.curve.point(c,h,l,d)},h.prototype._projDbl=function(){var e,t,i,r,s,n,a=this.x.redAdd(this.y).redSqr(),o=this.x.redSqr(),c=this.y.redSqr();if(this.curve.twisted){var h=(r=this.curve._mulA(o)).redAdd(c);this.zOne?(e=a.redSub(o).redSub(c).redMul(h.redSub(this.curve.two)),t=h.redMul(r.redSub(c)),i=h.redSqr().redSub(h).redSub(h)):(s=this.z.redSqr(),n=h.redSub(s).redISub(s),e=a.redSub(o).redISub(c).redMul(n),t=h.redMul(r.redSub(c)),i=h.redMul(n))}else r=o.redAdd(c),s=this.curve._mulC(this.z).redSqr(),n=r.redSub(s).redSub(s),e=this.curve._mulC(a.redISub(r)).redMul(n),t=this.curve._mulC(r).redMul(o.redISub(c)),i=r.redMul(n);return this.curve.point(e,t,i)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},h.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),s=this.z.redMul(e.z.redAdd(e.z)),n=i.redSub(t),a=s.redSub(r),o=s.redAdd(r),c=i.redAdd(t),h=n.redMul(a),d=o.redMul(c),l=n.redMul(c),u=a.redMul(o);return this.curve.point(h,d,u,l)},h.prototype._projAdd=function(e){var t,i,r=this.z.redMul(e.z),s=r.redSqr(),n=this.x.redMul(e.x),a=this.y.redMul(e.y),o=this.curve.d.redMul(n).redMul(a),c=s.redSub(o),h=s.redAdd(o),d=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(a),l=r.redMul(c).redMul(d);return this.curve.twisted?(t=r.redMul(h).redMul(a.redSub(this.curve._mulA(n))),i=c.redMul(h)):(t=r.redMul(h).redMul(a.redSub(n)),i=this.curve._mulC(c).redMul(h)),this.curve.point(l,t,i)},h.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},h.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},h.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},h.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},h.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},h.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()},h.prototype.getY=function(){return this.normalize(),this.y.fromRed()},h.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},h.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var i=e.clone(),r=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},h.prototype.toP=h.prototype.normalize,h.prototype.mixedAdd=h.prototype.add},84642:function(e,t,i){"use strict";
vendor: 6,159 bytes, line 10
10t.base=i(39491),t.short=i(8177),t.mont=i(31807),t.edwards=i(38590)},31807:function(e,t,i){"use strict";var r=i(64653),s=i(13917),n=i(39491),a=i(489);function o(e){n.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,i){n.BasePoint.call(this,e,"projective"),null===t&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}s(o,n),e.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),r=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t);return 0===r.redSqrt().redSqr().cmp(r)},s(c,n.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},o.prototype.point=function(e,t){return new c(this,e,t)},o.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),i=e.redSub(t),r=e.redMul(t),s=i.redMul(t.redAdd(this.curve.a24.redMul(i)));return this.curve.point(r,s)},c.prototype.add=function(){throw Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),r=this.x.redSub(this.z),s=e.x.redAdd(e.z),n=e.x.redSub(e.z).redMul(i),a=s.redMul(r),o=t.z.redMul(n.redAdd(a).redSqr()),c=t.x.redMul(n.redISub(a).redSqr());return this.curve.point(o,c)},c.prototype.mul=function(e){for(var t=e.clone(),i=this,r=this.curve.point(null,null),s=[];0!==t.cmpn(0);t.iushrn(1))s.push(t.andln(1));for(var n=s.length-1;n>=0;n--)0===s[n]?(i=i.diffAdd(r,this),r=r.dbl()):(r=i.diffAdd(r,this),i=i.dbl());return r},c.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},8177:function(e,t,i){"use strict";var r=i(489),s=i(64653),n=i(13917),a=i(39491),o=r.assert;function c(e){a.call(this,"short",e),this.a=new s(e.a,16).toRed(this.red),this.b=new s(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}function h(e,t,i,r){a.BasePoint.call(this,e,"affine"),null===t&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new s(t,16),this.y=new s(i,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function d(e,t,i,r){a.BasePoint.call(this,e,"jacobian"),null===t&&null===i&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new s(0)):(this.x=new s(t,16),this.y=new s(i,16),this.z=new s(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}n(c,a),e.exports=c,c.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){if(e.beta)t=new s(e.beta,16).toRed(this.red);else{var t,i,r,n=this._getEndoRoots(this.p);t=(t=0>n[0].cmp(n[1])?n[0]:n[1]).toRed(this.red)}if(e.lambda)i=new s(e.lambda,16);else{var a=this._getEndoRoots(this.n);0===this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))?i=a[0]:(i=a[1],o(0===this.g.mul(i).x.cmp(this.g.x.redMul(t))))}return r=e.basis?e.basis.map(function(e){return{a:new s(e.a,16),b:new s(e.b,16)}}):this._getEndoBasis(i),{beta:t,lambda:i,basis:r}}},c.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:s.mont(e),i=new s(2).toRed(t).redInvm(),r=i.redNeg(),n=new s(3).toRed(t).redNeg().redSqrt().redMul(i);return[r.redAdd(n).fromRed(),r.redSub(n).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,i,r,n,a,o,c,h,d,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=e,f=this.n.clone(),p=new s(1),g=new s(0),b=new s(0),m=new s(1),y=0;0!==u.cmpn(0);){var v=f.div(u);h=f.sub(v.mul(u)),d=b.sub(v.mul(p));var w=m.sub(v.mul(g));if(!r&&0>h.cmp(l))t=c.neg(),i=p,r=h.neg(),n=d;else if(r&&2==++y)break;c=h,f=u,u=h,b=p,p=d,m=g,g=w}a=h.neg(),o=d;var _=r.sqr().add(n.sqr());return a.sqr().add(o.sqr()).cmp(_)>=0&&(a=t,o=i),r.negative&&(r=r.neg(),n=n.neg()),a.negative&&(a=a.neg(),o=o.neg()),[{a:r,b:n},{a:a,b:o}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],r=t[1],s=r.b.mul(e).divRound(this.n),n=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),o=n.mul(r.a),c=s.mul(i.b),h=n.mul(r.b);return{k1:e.sub(a).sub(o),k2:c.add(h).neg()}},c.prototype.pointFromX=function(e,t){(e=new s(e,16)).red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=i.redSqrt();if(0!==r.redSqr().redSub(i).cmp(this.zero))throw Error("invalid point");var n=r.fromRed().isOdd();return(t&&!n||!t&&n)&&(r=r.redNeg()),this.point(e,r)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,r=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===i.redSqr().redISub(s).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,i){for(var r=this._endoWnafT1,s=this._endoWnafT2,n=0;n<e.length;n++){var a=this._endoSplit(t[n]),o=e[n],c=o._getBeta();a.k1.negative&&(a.k1.ineg(),o=o.neg(!0)),a.k2.negative&&(a.k2.ineg(),c=c.neg(!0)),r[2*n]=o,r[2*n+1]=c,s[2*n]=a.k1,s[2*n+1]=a.k2}for(var h=this._wnafMulAdd(1,r,s,2*n,i),d=0;d<2*n;
vendor: 7,445 bytes, line 10
10d++)r[d]=null,s[d]=null;return h},n(h,a.BasePoint),c.prototype.point=function(e,t,i){return new h(this,e,t,i)},c.prototype.pointFromJSON=function(e,t){return h.fromJSON(this,e,t)},h.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,r=function(e){return i.point(e.x.redMul(i.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},h.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},h.fromJSON=function(e,t,i){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],i);if(!t[2])return r;function s(t){return e.point(t[0],t[1],i)}var n=t[2];return r.precomputed={beta:null,doubles:n.doubles&&{step:n.doubles.step,points:[r].concat(n.doubles.points.map(s))},naf:n.naf&&{wnd:n.naf.wnd,points:[r].concat(n.naf.points.map(s))}},r},h.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},h.prototype.isInfinity=function(){return this.inf},h.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var i=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,r)},h.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,i=this.x.redSqr(),r=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(r),n=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,a)},h.prototype.getX=function(){return this.x.fromRed()},h.prototype.getY=function(){return this.y.fromRed()},h.prototype.mul=function(e){return(e=new s(e,16),this.isInfinity())?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},h.prototype.mulAdd=function(e,t,i){var r=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(r,s):this.curve._wnafMulAdd(1,r,s,2)},h.prototype.jmulAdd=function(e,t,i){var r=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(r,s,!0):this.curve._wnafMulAdd(1,r,s,2,!0)},h.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},h.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(r)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(r)}}}return t},h.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},n(d,a.BasePoint),c.prototype.jpoint=function(e,t,i){return new d(this,e,t,i)},d.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(i,r)},d.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},d.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),r=this.x.redMul(t),s=e.x.redMul(i),n=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),o=r.redSub(s),c=n.redSub(a);if(0===o.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=o.redSqr(),d=h.redMul(o),l=r.redMul(h),u=c.redSqr().redIAdd(d).redISub(l).redISub(l),f=c.redMul(l.redISub(u)).redISub(n.redMul(d)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(u,f,p)},d.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,r=e.x.redMul(t),s=this.y,n=e.y.redMul(t).redMul(this.z),a=i.redSub(r),o=s.redSub(n);if(0===a.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),d=i.redMul(c),l=o.redSqr().redIAdd(h).redISub(d).redISub(d),u=o.redMul(d.redISub(l)).redISub(s.redMul(h)),f=this.z.redMul(a);return this.curve.jpoint(l,u,f)},d.prototype.dblp=function(e){if(0===e||this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var t,i=this;for(t=0;t<e;t++)i=i.dbl();return i}var r=this.curve.a,s=this.curve.tinv,n=this.x,a=this.y,o=this.z,c=o.redSqr().redSqr(),h=a.redAdd(a);for(t=0;t<e;t++){var d=n.redSqr(),l=h.redSqr(),u=l.redSqr(),f=d.redAdd(d).redIAdd(d).redIAdd(r.redMul(c)),p=n.redMul(l),g=f.redSqr().redISub(p.redAdd(p)),b=p.redISub(g),m=f.redMul(b);m=m.redIAdd(m).redISub(u);var y=h.redMul(o);t+1<e&&(c=c.redMul(u)),n=g,o=y,h=m}return this.curve.jpoint(n,h.redMul(s),o)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},d.prototype._zeroDbl=function(){if(this.zOne){var e,t,i,r=this.x.redSqr(),s=this.y.redSqr(),n=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(r).redISub(n);a=a.redIAdd(a);var o=r.redAdd(r).redIAdd(r),c=o.redSqr().redISub(a).redISub(a),h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),e=c,t=o.redMul(a.redISub(c)).redISub(h),i=this.y.redAdd(this.y)}else{var d=this.x.redSqr(),l=this.y.redSqr(),u=l.redSqr(),f=this.x.redAdd(l).redSqr().redISub(d).redISub(u);f=f.redIAdd(f);var p=d.redAdd(d).redIAdd(d),g=p.redSqr(),b=u.redIAdd(u);b=(b=b.redIAdd(b)).redIAdd(b),e=g.redISub(f).redISub(f),t=p.redMul(f.redISub(e)).redISub(b),i=(i=this.y.redMul(this.z)).redIAdd(i)}return this.curve.jpoint(e,t,i)},d.prototype._threeDbl=function(){if(this.zOne){var e,t,i,r=this.x.redSqr(),s=this.y.redSqr(),n=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(r).redISub(n);a=a.redIAdd(a);var o=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),c=o.redSqr().redISub(a).redISub(a);e=c;var h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),t=o.redMul(a.redISub(c)).redISub(h),i=this.y.redAdd(this.y)}else{var d=this.z.redSqr(),l=this.y.redSqr(),u=this.x.redMul(l),f=this.x.redSub(d).redMul(this.x.redAdd(d));f=f.redAdd(f).redIAdd(f);var p=u.redIAdd(u),g=(p=p.redIAdd(p)).redAdd(p);e=f.redSqr().redISub(g),i=this.y.redAdd(this.z).redSqr().redISub(l).redISub(d);var b=l.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=f.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,i)},d.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,r=this.z,s=r.redSqr().redSqr(),n=t.redSqr(),a=i.redSqr(),o=n.redAdd(n).redIAdd(n).redIAdd(e.redMul(s)),c=t.redAdd(t),h=(c=c.redIAdd(c)).redMul(a),d=o.redSqr().redISub(h.redAdd(h)),l=h.redISub(d),u=a.redSqr();u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var f=o.redMul(l).redISub(u),p=i.redAdd(i).redMul(r);return this.curve.jpoint(d,f,p)},d.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);
vendor: 6,370 bytes, line 10
10var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr(),r=t.redSqr(),s=e.redAdd(e).redIAdd(e),n=s.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(r),o=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(n)).redSqr(),c=r.redIAdd(r);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var h=s.redIAdd(a).redSqr().redISub(n).redISub(o).redISub(c),d=t.redMul(h);d=(d=d.redIAdd(d)).redIAdd(d);var l=this.x.redMul(o).redISub(d);l=(l=l.redIAdd(l)).redIAdd(l);var u=this.y.redMul(h.redMul(c.redISub(h)).redISub(a.redMul(o)));u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var f=this.z.redAdd(a).redSqr().redISub(i).redISub(o);return this.curve.jpoint(l,u,f)},d.prototype.mul=function(e,t){return e=new s(e,t),this.curve._wnafMul(this,e)},d.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),i=e.z.redSqr();if(0!==this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),s=i.redMul(e.z);return 0===this.y.redMul(s).redISub(e.y.redMul(r)).cmpn(0)},d.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(i))return!0;for(var r=e.clone(),s=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),0===this.x.cmp(i))return!0}},d.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},d.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},56662:function(e,t,i){"use strict";var r,s=i(14346),n=i(84642),a=i(489).assert;function o(e){"short"===e.type?this.curve=new n.short(e):"edwards"===e.type?this.curve=new n.edwards(e):this.curve=new n.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,i){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(i);return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:r}),r}})}t.PresetCurve=o,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=i(60872)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"}
10,{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},96451:function(e,t,i){"use strict";var r=i(64653),s=i(81137),n=i(489),a=i(56662),o=i(75212),c=n.assert,h=i(25932),d=i(11015);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(c(Object.prototype.hasOwnProperty.call(a,e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=l,l.prototype.keyPair=function(e){return new h(this,e)},l.prototype.keyFromPrivate=function(e,t){return h.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return h.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){e||(e={});for(var t=new s({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new r(2));;){var a=new r(t.generate(i));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}},l.prototype._truncateToN=function(e,t,i){if(r.isBN(e)||"number"==typeof e)s=(e=new r(e,16)).byteLength();else if("object"==typeof e)s=e.length,e=new r(e,16);else{var s,n=e.toString();s=n.length+1>>>1,e=new r(n,16)}"number"!=typeof i&&(i=8*s);var a=i-this.n.bitLength();return(a>0&&(e=e.ushrn(a)),!t&&e.cmp(this.n)>=0)?e.sub(this.n):e},l.prototype.sign=function(e,t,i,n){if("object"==typeof i&&(n=i,i=null),n||(n={}),"string"!=typeof e&&"number"!=typeof e&&!r.isBN(e)){c("object"==typeof e&&e&&"number"==typeof e.length,"Expected message to be an array-like, a hex string, or a BN instance"),c(e.length>>>0===e.length);for(var a=0;a<e.length;a++)c((255&e[a])===e[a])}t=this.keyFromPrivate(t,i),c(!(e=this._truncateToN(e,!1,n.msgBitLength)).isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),h=t.getPrivate().toArray("be",o),l=e.toArray("be",o);c(new r(l).eq(e),"Can not sign message");for(var u=new s({hash:this.hash,entropy:h,nonce:l,pers:n.pers,persEnc:n.persEnc||"utf8"}),f=this.n.sub(new r(1)),p=0;;p++){var g=n.k?n.k(p):new r(u.generate(this.n.byteLength()));if(!(0>=(g=this._truncateToN(g,!0)).cmpn(1)||g.cmp(f)>=0)){var b=this.g.mul(g);if(!b.isInfinity()){var m=b.getX(),y=m.umod(this.n);if(0!==y.cmpn(0)){var v=g.invm(this.n).mul(y.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var w=(b.getY().isOdd()?1:0)|(0!==m.cmp(y)?2:0);return n.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),w^=1),new d({r:y,s:v,recoveryParam:w})}}}}}},l.prototype.verify=function(e,t,i,r,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,r);var n,a=(t=new d(t,"hex")).r,o=t.s;if(0>a.cmpn(1)||a.cmp(this.n)>=0||0>o.cmpn(1)||o.cmp(this.n)>=0)return!1;var c=o.invm(this.n),h=c.mul(e).umod(this.n),l=c.mul(a).umod(this.n);return this.curve._maxwellTrick?!(n=this.g.jmulAdd(h,i.getPublic(),l)).isInfinity()&&n.eqXToP(a):!(n=this.g.mulAdd(h,i.getPublic(),l)).isInfinity()&&0===n.getX().umod(this.n).cmp(a)},l.prototype.recoverPubKey=function(e,t,i,s){c((3&i)===i,"The recovery param is more than two bits"),t=new d(t,s);var n=this.n,a=new r(e),o=t.r,h=t.s,l=1&i,u=i>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw Error("Unable to find sencond key candinate");o=u?this.curve.pointFromX(o.add(this.curve.n),l):this.curve.pointFromX(o,l);var f=t.r.invm(n),p=n.sub(a).mul(f).umod(n),g=h.mul(f).umod(n);return this.g.mulAdd(p,o,g)},l.prototype.getKeyRecoveryParam=function(e,t,i,r){if(null!==(t=new d(t,r)).recoveryParam)return t.recoveryParam;for(var s,n=0;n<4;n++){try{s=this.recoverPubKey(e,t,n)}catch(e){continue}if(s.eq(i))return n}throw Error("Unable to find valid recovery factor")}},25932:function(e,t,i){"use strict";var r=i(64653),s=i(489).assert;function n(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=n,n.fromPublic=function(e,t,i){return t instanceof n?t:new n(e,{pub:t,pubEnc:i})},n.fromPrivate=function(e,t,i){return t instanceof n?t:new n(e,{priv:t,privEnc:i})},n.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},n.prototype.getPublic=function(e,t){return("string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t)?this.pub.encode(t,e):this.pub},n.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},n.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},n.prototype._importPublic=function(e,t){if(e.x||e.y){"mont"===this.ec.curve.type?s(e.x,"Need x coordinate"):("short"===this.ec.curve.type||"edwards"===this.ec.curve.type)&&s(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},n.prototype.derive=function(e){return e.validate()||s(e.validate(),"public point not validated"),e.mul(this.priv).getX()},n.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},n.prototype.verify=function(e,t,i){return this.ec.verify(e,t,this,void 0,i)},n.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},11015:function(e,t,i){"use strict";var r=i(64653),s=i(489),n=s.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(n(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function o(){this.place=0}function c(e,t){var i=e[t.place++];if(!(128&i))return i;var r=15&i;if(0===r||r>4||0===e[t.place])return!1;for(var s=0,n=0,a=t.place;n<r;n++,a++)s<<=8,s|=e[a],s>>>=0;return!(s<=127)&&(t.place=a,s)}function h(e){for(var t=0,i=e.length-1;!e[t]&&!(128&e[t+1])&&t<i;)t++;return 0===t?e:e.slice(t)}function d(e,t){if(t<128){e.push(t);return}var i=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|i);--i;)e.push(t>>>(i<<3)&255);e.push(t)}e.exports=a,a.prototype._importDER=function(e,t){e=s.toArray(e,t);var i=new o;if(48!==e[i.place++])return!1;var n=c(e,i);if(!1===n||n+i.place!==e.length||2!==e[i.place++])return!1;var a=c(e,i);if(!1===a||(128&e[i.place])!=0)return!1;var h=e.slice(i.place,a+i.place);if(i.place+=a,2!==e[i.place++])return!1;var d=c(e,i);if(!1===d||e.length!==d+i.place||(128&e[i.place])!=0)return!1;var l=e.slice(i.place,d+i.place);
vendor: 4,594 bytes, line 10
10if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new r(h),this.s=new r(l),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&i[0]&&(i=[0].concat(i)),t=h(t),i=h(i);!i[0]&&!(128&i[1]);)i=i.slice(1);var r=[2];d(r,t.length),(r=r.concat(t)).push(2),d(r,i.length);var n=r.concat(i),a=[48];return d(a,n.length),a=a.concat(n),s.encode(a,e)}},94393:function(e,t,i){"use strict";var r=i(14346),s=i(56662),n=i(489),a=n.assert,o=n.parseBytes,c=i(89978),h=i(69791);function d(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof d))return new d(e);e=s[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=d,d.prototype.sign=function(e,t){e=o(e);var i=this.keyFromSecret(t),r=this.hashInt(i.messagePrefix(),e),s=this.g.mul(r),n=this.encodePoint(s),a=this.hashInt(n,i.pubBytes(),e).mul(i.priv()),c=r.add(a).umod(this.curve.n);return this.makeSignature({R:s,S:c,Rencoded:n})},d.prototype.verify=function(e,t,i){if(e=o(e),(t=this.makeSignature(t)).S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var r=this.keyFromPublic(i),s=this.hashInt(t.Rencoded(),r.pubBytes(),e),n=this.g.mul(t.S());return t.R().add(r.pub().mul(s)).eq(n)},d.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return n.intFromLE(e.digest()).umod(this.curve.n)},d.prototype.keyFromPublic=function(e){return c.fromPublic(this,e)},d.prototype.keyFromSecret=function(e){return c.fromSecret(this,e)},d.prototype.makeSignature=function(e){return e instanceof h?e:new h(this,e)},d.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},d.prototype.decodePoint=function(e){var t=(e=n.parseBytes(e)).length-1,i=e.slice(0,t).concat(-129&e[t]),r=(128&e[t])!=0,s=n.intFromLE(i);return this.curve.pointFromY(s,r)},d.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},d.prototype.decodeInt=function(e){return n.intFromLE(e)},d.prototype.isPoint=function(e){return e instanceof this.pointClass}},89978:function(e,t,i){"use strict";var r=i(489),s=r.assert,n=r.parseBytes,a=r.cachedProperty;function o(e,t){this.eddsa=e,this._secret=n(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=n(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},a(o,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),a(o,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),a(o,"privBytes",function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[i]&=127,r[i]|=64,r}),a(o,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),a(o,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),a(o,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),o.prototype.sign=function(e){return s(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return s(this._secret,"KeyPair is public only"),r.encode(this.secret(),e)},o.prototype.getPublic=function(e){return r.encode(this.pubBytes(),e)},e.exports=o},69791:function(e,t,i){"use strict";var r=i(64653),s=i(489),n=s.assert,a=s.cachedProperty,o=s.parseBytes;function c(e,t){this.eddsa=e,"object"!=typeof t&&(t=o(t)),Array.isArray(t)&&(n(t.length===2*e.encodingLength,"Signature has invalid size"),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),n(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof r&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(c,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),a(c,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),a(c,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),a(c,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),c.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},c.prototype.toHex=function(){return s.encode(this.toBytes(),"hex").toUpperCase()},e.exports=c},60872:function(e
vendor: 26,140 bytes, line 10
10){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},
10489:function(e,t,i){"use strict";var r=i(64653),s=i(25196),n=i(51030);t.assert=s,t.toArray=n.toArray,t.zero2=n.zero2,t.toHex=n.toHex,t.encode=n.encode,t.getNAF=function(e,t,i){var r=Array(Math.max(e.bitLength(),i)+1);for(a=0;a<r.length;a+=1)r[a]=0;var s=1<<t+1,n=e.clone();for(a=0;a<r.length;a++){var a,o,c=n.andln(s-1);n.isOdd()?(o=c>(s>>1)-1?(s>>1)-c:c,n.isubn(o)):o=0,r[a]=o,n.iushrn(1)}return r},t.getJSF=function(e,t){var i=[[],[]];e=e.clone(),t=t.clone();for(var r=0,s=0;e.cmpn(-r)>0||t.cmpn(-s)>0;){var n,a,o,c=e.andln(3)+r&3,h=t.andln(3)+s&3;3===c&&(c=-1),3===h&&(h=-1),a=(1&c)==0?0:(3==(n=e.andln(7)+r&7)||5===n)&&2===h?-c:c,i[0].push(a),o=(1&h)==0?0:(3==(n=t.andln(7)+s&7)||5===n)&&2===c?-h:h,i[1].push(o),2*r===a+1&&(r=1-r),2*s===o+1&&(s=1-s),e.iushrn(1),t.iushrn(1)}return i},t.cachedProperty=function(e,t,i){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=i.call(this)}},t.parseBytes=function(e){return"string"==typeof e?t.toArray(e,"hex"):e},t.intFromLE=function(e){return new r(e,"hex","le")}},14346:function(e,t,i){t.utils=i(53293),t.common=i(88456),t.sha=i(9073),t.ripemd=i(33262),t.hmac=i(67854),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160},88456:function(e,t,i){"use strict";var r=i(53293),s=i(25196);function n(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}
10t.BlockHash=n,n.prototype.update=function(e,t){if(e=r.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var i=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-i,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-i,this.endian);for(var s=0;s<e.length;s+=this._delta32)this._update(e,s,s+this._delta32)}return this},n.prototype.digest=function(e){return this.update(this._pad()),s(null===this.pending),this._digest(e)},n.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,i=t-(e+this.padLength)%t,r=Array(i+this.padLength);r[0]=128;for(var s=1;s<i;s++)r[s]=0;if(e<<=3,"big"===this.endian){for(var n=8;n<this.padLength;n++)r[s++]=0;r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=e>>>24&255,r[s++]=e>>>16&255,r[s++]=e>>>8&255,r[s++]=255&e}else for(n=8,r[s++]=255&e,r[s++]=e>>>8&255,r[s++]=e>>>16&255,r[s++]=e>>>24&255,r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=0;n<this.padLength;n++)r[s++]=0;return r}},67854:function(e,t,i){"use strict";var r=i(53293),s=i(25196);function n(e,t,i){if(!(this instanceof n))return new n(e,t,i);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,i))}e.exports=n,n.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),s(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(t=0,this.inner=new this.Hash().update(e);t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},n.prototype.update=function(e,t){return this.inner.update(e,t),this},n.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},33262:function(e,t,i){"use strict";var r=i(53293),s=i(88456),n=r.rotl32,a=r.sum32,o=r.sum32_3,c=r.sum32_4,h=s.BlockHash;function d(){if(!(this instanceof d))return new d;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(e,t,i,r){return e<=15?t^i^r:e<=31?t&i|~t&r:e<=47?(t|~i)^r:e<=63?t&r|i&~r:t^(i|~r)}r.inherits(d,h),t.ripemd160=d,d.blockSize=512,d.outSize=160,d.hmacStrength=192,d.padLength=64,d.prototype._update=function(e,t){for(var i=this.h[0],r=this.h[1],s=this.h[2],h=this.h[3],d=this.h[4],b=i,m=r,y=s,v=h,w=d,_=0;_<80;_++){var I,S,E=a(n(c(i,l(_,r,s,h),e[u[_]+t],(I=_)<=15?0:I<=31?1518500249:I<=47?1859775393:I<=63?2400959708:2840853838),p[_]),d);i=d,d=h,h=n(s,10),s=r,r=E,E=a(n(c(b,l(79-_,m,y,v),e[f[_]+t],(S=_)<=15?1352829926:S<=31?1548603684:S<=47?1836072691:S<=63?2053994217:0),g[_]),w),b=w,w=v,v=n(y,10),y=m,m=E}E=o(this.h[1],s,v),this.h[1]=o(this.h[2],h,w),this.h[2]=o(this.h[3],d,b),this.h[3]=o(this.h[4],i,m),this.h[4]=o(this.h[0],r,y),this.h[0]=E},d.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var u=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],p=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},9073:function(e,t,i){"use strict";t.sha1=i(90966),t.sha224=i(71015),t.sha256=i(66850),t.sha384=i(94584),t.sha512=i(32078)},90966:function(e,t,i){"use strict";var r=i(53293),s=i(88456),n=i(28779),a=r.rotl32,o=r.sum32,c=r.sum32_5,h=n.ft_1,d=s.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function u(){if(!(this instanceof u))return new u;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}r.inherits(u,d),e.exports=u,u.blockSize=512,u.outSize=160,u.hmacStrength=80,u.padLength=64,u.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=a(i[r-3]^i[r-8]^i[r-14]^i[r-16],1);var s=this.h[0],n=this.h[1],d=this.h[2],u=this.h[3],f=this.h[4];for(r=0;r<i.length;r++){var p=~~(r/20),g=c(a(s,5),h(p,n,d,u),f,i[r],l[p]);f=u,u=d,d=a(n,30),n=s,s=g}this.h[0]=o(this.h[0],s),this.h[1]=o(this.h[1],n),this.h[2]=o(this.h[2],d),this.h[3]=o(this.h[3],u),this.h[4]=o(this.h[4],f)},u.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},71015:function(e,t,i){"use strict";var r=i(53293),s=i(66850);function n(){if(!(this instanceof n))return new n;s.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(n,s),e.exports=n,n.blockSize=512,n.outSize=224,n.hmacStrength=192,n.padLength=64,n.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},66850:function(e,t,i){"use strict";var r=i(53293),s=i(88456),n=i(28779),a=i(25196),o=r.sum32,c=r.sum32_4,h=r.sum32_5,d=n.ch32,l=n.maj32,u=n.s0_256,f=n.s1_256,p=n.g0_256,g=n.g1_256,b=s.BlockHash,m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756
vendor: 3,373 bytes, line 10
10734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=Array(64)}r.inherits(y,b),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=c(g(i[r-2]),i[r-7],p(i[r-15]),i[r-16]);var s=this.h[0],n=this.h[1],b=this.h[2],m=this.h[3],y=this.h[4],v=this.h[5],w=this.h[6],_=this.h[7];for(a(this.k.length===i.length),r=0;r<i.length;r++){var I=h(_,f(y),d(y,v,w),this.k[r],i[r]),S=o(u(s),l(s,n,b));_=w,w=v,v=y,y=o(m,I),m=b,b=n,n=s,s=o(I,S)}this.h[0]=o(this.h[0],s),this.h[1]=o(this.h[1],n),this.h[2]=o(this.h[2],b),this.h[3]=o(this.h[3],m),this.h[4]=o(this.h[4],y),this.h[5]=o(this.h[5],v),this.h[6]=o(this.h[6],w),this.h[7]=o(this.h[7],_)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},94584:function(e,t,i){"use strict";var r=i(53293),s=i(32078);function n(){if(!(this instanceof n))return new n;s.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(n,s),e.exports=n,n.blockSize=1024,n.outSize=384,n.hmacStrength=192,n.padLength=128,n.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},32078:function(e,t,i){"use strict";var r=i(53293),s=i(88456),n=i(25196),a=r.rotr64_hi,o=r.rotr64_lo,c=r.shr64_hi,h=r.shr64_lo,d=r.sum64,l=r.sum64_hi,u=r.sum64_lo,f=r.sum64_4_hi,p=r.sum64_4_lo,g=r.sum64_5_hi,b=r.sum64_5_lo,m=s.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,
101126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;m.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=Array(160)}r.inherits(v,m),e.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var i=this.W,r=0;r<32;r++)i[r]=e[t+r];for(;r<i.length;r+=2){var s=function(e,t){var i=a(e,t,19)^a(t,e,29)^c(e,t,6);return i<0&&(i+=4294967296),i}(i[r-4],i[r-3]),n=function(e,t){var i=o(e,t,19)^o(t,e,29)^h(e,t,6);return i<0&&(i+=4294967296),i}(i[r-4],i[r-3]),d=i[r-14],l=i[r-13],u=function(e,t){var i=a(e,t,1)^a(e,t,8)^c(e,t,7);return i<0&&(i+=4294967296),i}(i[r-30],i[r-29]),g=function(e,t){var i=o(e,t,1)^o(e,t,8)^h(e,t,7);return i<0&&(i+=4294967296),i}(i[r-30],i[r-29]),b=i[r-32],m=i[r-31];i[r]=f(s,n,d,l,u,g,b,m),i[r+1]=p(s,n,d,l,u,g,b,m)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,r=this.h[0],s=this.h[1],c=this.h[2],h=this.h[3],f=this.h[4],p=this.h[5],m=this.h[6],y=this.h[7],v=this.h[8],w=this.h[9],_=this.h[10],I=this.h[11],S=this.h[12],E=this.h[13],P=this.h[14],M=this.h[15];n(this.k.length===i.length);for(var x=0;x<i.length;x+=2){var A=P,O=M,R=function(e,t){var i=a(e,t,14)^a(e,t,18)^a(t,e,9);return i<0&&(i+=4294967296),i}(v,w),N=function(e,t){var i=o(e,t,14)^o(e,t,18)^o(t,e,9);return i<0&&(i+=4294967296),i}(v,w),q=function(e,t,i,r,s){var n=e&i^~e&s;return n<0&&(n+=4294967296),n}(v,0,_,0,S,E),C=function(e,t,i,r,s,n){var a=t&r^~t&n;return a<0&&(a+=4294967296),a}(0,w,0,I,0,E),T=this.k[x],j=this.k[x+1],k=i[x],z=i[x+1],$=g(A,O,R,N,q,C,T,j,k,z),L=b(A,O,R,N,q,C,T,j,k,z);A=function(e,t){var i=a(e,t,28)^a(t,e,2)^a(t,e,7);return i<0&&(i+=4294967296),i}(r,s);var D=l(A,O=function(e,t){var i=o(e,t,28)^o(t,e,2)^o(t,e,7);return i<0&&(i+=4294967296),i}(r,s),R=function(e,t,i,r,s){var n=e&i^e&s^i&s;return n<0&&(n+=4294967296),n}(r,0,c,0,f,p),N=function(e,t,i,r,s,n){var a=t&r^t&n^r&n;return a<0&&(a+=4294967296),a}(0,s,0,h,0,p)),U=u(A,O,R,N);P=S,M=E,S=_,E=I,_=v,I=w,v=l(m,y,$,L),w=u(y,y,$,L),m=f,y=p,f=c,p=h,c=r,h=s,r=l($,L,D,U),s=u($,L,D,U)}d(this.h,0,r,s),d(this.h,2,c,h),d(this.h,4,f,p),d(this.h,6,m,y),d(this.h,8,v,w),d(this.h,10,_,I),d(this.h,12,S,E),d(this.h,14,P,M)},v.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},28779:function(e,t,i){"use strict";var r=i(53293).rotr32;function s(e,t,i){return e&t^e&i^t&i}t.ft_1=function(e,t,i,r){return 0===e?t&i^~t&r:1===e||3===e?t^i^r:2===e?s(t,i,r):void 0},t.ch32=function(e,t,i){return e&t^~e&i},t.maj32=s,t.p32=function(e,t,i){return e^t^i},t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},53293:function(e,t,i){"use strict";var r=i(25196),s=i(13917);function n(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function o(e){if(7===e.length)return"0"+e;if(6===e.length)return"00"+e;if(5===e.length)return"000"+e;if(4===e.length)return"0000"+e;if(3===e.length)return"00000"+e;if(2===e.length)return"000000"+e;if(1===e.length)return"0000000"+e;else return e}t.inherits=s,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i=[];if("string"==typeof e){if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/ig,"")).length%2!=0&&(e="0"+e),s=0;s<e.length;s+=2)i.push(parseInt(e[s]+e[s+1],16))}else for(var r=0,s=0;s<e.length;s++){var n,a,o=e.charCodeAt(s);o<128?i[r++]=o:(o<2048?i[r++]=o>>6|192:((n=e,a=s,(64512&n.charCodeAt(a))!=55296||a<0||a+1>=n.length?1:(64512&n.charCodeAt(a+1))!=56320)?i[r++]=o>>12|224:(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++s)),i[r++]=o>>18|240,i[r++]=o>>12&63|128),i[r++]=o>>6&63|128),i[r++]=63&o|128)}}else for(s=0;s<e.length;s++)i[s]=0|e[s];return i},t.toHex=function(e){for(var t="",i=0;i<e.length;i++)t+=a(e[i].toString(16));return t},t.htonl=n,t.toHex32=function(e,t){for(var i="",r=0;r<e.length;r++){var s=e[r];"little"===t&&(s=n(s)),i+=o(s.toString(16))}return i},t.zero2=a,t.zero8=o,t.join32=function(e,t,i,s){var n,a=i-t;r(a%4==0);for(var o=Array(a/4),c=0,h=t;c<o.length;c++,h+=4)n="big"===s?e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3]:e[h+3]<<24|e[h+2]<<16|e[h+1]<<8|e[h],o[c]=n>>>0;return o},t.split32=function(e,t){for(var i=Array(4*e.length),r=0,s=0;r<e.length;r++,s+=4){var n=e[r];"big"===t?(i[s]=n>>>24,i[s+1]=n>>>16&255,i[s+2]=n>>>8&255,i[s+3]=255&n):(i[s+3]=n>>>24,i[s+2]=n>>>16&255,i[s+1]=n>>>8&255,i[s]=255&n)}return i},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,i){return e+t+i>>>0},t.sum32_4=function(e,t,i,r){return e+t+i+r>>>0},t.sum32_5=function(e,t,i,r,s){return e+t+i+r+s>>>0},t.sum64=function(e,t,i,r){var s=e[t],n=r+e[t+1]>>>0;e[t]=(n<r?1:0)+i+s>>>
100,e[t+1]=n},t.sum64_hi=function(e,t,i,r){return(t+r>>>0<t?1:0)+e+i>>>0},t.sum64_lo=function(e,t,i,r){return t+r>>>0},t.sum64_4_hi=function(e,t,i,r,s,n,a,o){var c,h=t;return e+i+s+a+(0+((h=h+r>>>0)<t?1:0)+((h=h+n>>>0)<n?1:0)+((h=h+o>>>0)<o?1:0))>>>0},t.sum64_4_lo=function(e,t,i,r,s,n,a,o){return t+r+n+o>>>0},t.sum64_5_hi=function(e,t,i,r,s,n,a,o,c,h){var d,l=t;return e+i+s+a+c+(0+((l=l+r>>>0)<t?1:0)+((l=l+n>>>0)<n?1:0)+((l=l+o>>>0)<o?1:0)+((l=l+h>>>0)<h?1:0))>>>0},t.sum64_5_lo=function(e,t,i,r,s,n,a,o,c,h){return t+r+n+o+h>>>0},t.rotr64_hi=function(e,t,i){return(t<<32-i|e>>>i)>>>0},t.rotr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0},t.shr64_hi=function(e,t,i){return e>>>i},t.shr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0}},81137:function(e,t,i){"use strict";var r=i(14346),s=i(51030),n=i(25196);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=s.toArray(e.entropy,e.entropyEnc||"hex"),i=s.toArray(e.nonce,e.nonceEnc||"hex"),r=s.toArray(e.pers,e.persEnc||"hex");n(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,i,r)}e.exports=a,a.prototype._init=function(e,t,i){var r=e.concat(t).concat(i);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,i,r){"string"!=typeof t&&(r=i,i=t,t=null),e=s.toArray(e,t),i=s.toArray(i,r),n(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},a.prototype.generate=function(e,t,i,r){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof t&&(r=i,i=t,t=null),i&&(i=s.toArray(i,r||"hex"),this._update(i));for(var n=[];n.length<e;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var a=n.slice(0,e);return this._update(i),this._reseed++,s.encode(a,t)}},13917:function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}},14227:function(e,t,i){e=i.nmd(e);var r,s,n,a="__lodash_hash_undefined__",o="[object Arguments]",c="[object Array]",h="[object Boolean]",d="[object Date]",l="[object Error]",u="[object Function]",f="[object Map]",p="[object Number]",g="[object Object]",b="[object Promise]",m="[object RegExp]",y="[object Set]",v="[object String]",w="[object WeakMap]",_="[object ArrayBuffer]",I="[object DataView]",S=/^\[object .+?Constructor\]$/,E=/^(?:0|[1-9]\d*)$/,P={};P["[object Float32Array]"]=P["[object Float64Array]"]=P["[object Int8Array]"]=P["[object Int16Array]"]=P["[object Int32Array]"]=P["[object Uint8Array]"]=P["[object Uint8ClampedArray]"]=P["[object Uint16Array]"]=P["[object Uint32Array]"]=!0,P[o]=P[c]=P[_]=P[h]=P[I]=P[d]=P[l]=P[u]=P[f]=P[p]=P[g]=P[m]=P[y]=P[v]=P[w]=!1;var M="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,x="object"==typeof self&&self&&self.Object===Object&&self,A=M||x||Function("return this")(),O=t&&!t.nodeType&&t,R=O&&e&&!e.nodeType&&e,N=R&&R.exports===O,q=N&&M.process,C=function(){try{return q&&q.binding&&q.binding("util")}catch(e){}}(),T=C&&C.isTypedArray;function j(e){var t=-1,i=Array(e.size);return e.forEach(function(e,r){i[++t]=[r,e]}),i}function k(e){var t=-1,i=Array(e.size);return e.forEach(function(e){i[++t]=e}),i}var z=Array.prototype,$=Function.prototype,L=Object.prototype,D=A["__core-js_shared__"],U=$.toString,B=L.hasOwnProperty,V=(r=/[^.]+$/.exec(D&&D.keys&&D.keys.IE_PROTO||""))?"Symbol(sr
10c)_1."+r:"",K=L.toString,H=RegExp("^"+U.call(B).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),F=N?A.Buffer:void 0,J=A.Symbol,G=A.Uint8Array,W=L.propertyIsEnumerable,Z=z.splice,Q=J?J.toStringTag:void 0,Y=Object.getOwnPropertySymbols,X=F?F.isBuffer:void 0,ee=(s=Object.keys,n=Object,function(e){return s(n(e))}),et=eP(A,"DataView"),ei=eP(A,"Map"),er=eP(A,"Promise"),es=eP(A,"Set"),en=eP(A,"WeakMap"),ea=eP(Object,"create"),eo=eA(et),ec=eA(ei),eh=eA(er),ed=eA(es),el=eA(en),eu=J?J.prototype:void 0,ef=eu?eu.valueOf:void 0;function ep(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function eg(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function eb(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}function em(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new eb;++t<i;)this.add(e[t])}function ey(e){var t=this.__data__=new eg(e);this.size=t.size}function ev(e,t){for(var i=e.length;i--;)if(eO(e[i][0],t))return i;return -1}function ew(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Q&&Q in Object(e)?function(e){var t=B.call(e,Q),i=e[Q];try{e[Q]=void 0;var r=!0}catch(e){}var s=K.call(e);return r&&(t?e[Q]=i:delete e[Q]),s}(e):K.call(e)}function e_(e){return ek(e)&&ew(e)==o}function eI(e,t,i,r,s,n){var a=1&i,o=e.length,c=t.length;if(o!=c&&!(a&&c>o))return!1;var h=n.get(e);if(h&&n.get(t))return h==t;var d=-1,l=!0,u=2&i?new em:void 0;for(n.set(e,t),n.set(t,e);++d<o;){var f=e[d],p=t[d];if(r)var g=a?r(p,f,d,t,e,n):r(f,p,d,e,t,n);if(void 0!==g){if(g)continue;l=!1;break}if(u){if(!function(e,t){for(var i=-1,r=null==e?0:e.length;++i<r;)if(t(e[i],i,e))return!0;return!1}(t,function(e,t){if(!u.has(t)&&(f===e||s(f,e,i,r,n)))return u.push(t)})){l=!1;break}}else if(!(f===p||s(f,p,i,r,n))){l=!1;break}}return n.delete(e),n.delete(t),l}function eS(e){var t;return t=function(e){return null!=e&&eT(e.length)&&!eC(e)?function(e,t){var i,r=eN(e),s=!r&&eR(e),n=!r&&!s&&eq(e),a=!r&&!s&&!n&&ez(e),o=r||s||n||a,c=o?function(e,t){for(var i=-1,r=Array(e);++i<e;)r[i]=t(i);return r}(e.length,String):[],h=c.length;for(var d in e)B.call(e,d)&&!(o&&("length"==d||n&&("offset"==d||"parent"==d)||a&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||(i=null==(i=h)?9007199254740991:i)&&("number"==typeof d||E.test(d))&&d>-1&&d%1==0&&d<i))&&c.push(d);return c}(e):function(e){if(t=e&&e.constructor,e!==("function"==typeof t&&t.prototype||L))return ee(e);var t,i=[];for(var r in Object(e))B.call(e,r)&&"constructor"!=r&&i.push(r);return i}(e)}(e),eN(e)?t:function(e,t){for(var i=-1,r=t.length,s=e.length;++i<r;)e[s+i]=t[i];return e}(t,eM(e))}function eE(e,t){var i,r=e.__data__;return("string"==(i=typeof t)||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==t:null===t)?r["string"==typeof t?"string":"hash"]:r.map}function eP(e,t){var i=null==e?void 0:e[t];return!(!ej(i)||V&&V in i)&&(eC(i)?H:S).test(eA(i))?i:void 0}ep.prototype.clear=function(){this.__data__=ea?ea(null):{},this.size=0},ep.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ep.prototype.get=function(e){var t=this.__data__;if(ea){var i=t[e];return i===a?void 0:i}return B.call(t,e)?t[e]:void 0},ep.prototype.has=function(e){var t=this.__data__;return ea?void 0!==t[e]:B.call(t,e)},ep.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=ea&&void 0===t?a:t,this},eg.prototype.clear=function(){this.__data__=[],this.size=0},eg.prototype.delete=function(e){var t=this.__data__,i=ev(t,e);return!(i<0)&&(i==t.length-1?t.pop():Z.call(t,i,1),--this.size,!0)},eg.prototype.get=function(e){var t=this.__data__,i=ev(t,e);return i<0?void 0:t[i][1]},eg.prototype.has=function(e){return ev(this.__data__,e)>-1},eg.prototype.set=function(e,t){var i=this.__data__,r=ev(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this},eb.prototype.clear=function(){this.size=0,this.__data__={hash:new ep,map:new(ei||eg),string:new ep}},eb.prototype.delete=function(e){var t=eE(this,e).delete(e);return this.size-=t?1:0,t},eb.prototype.get=function(e){return eE(this,e).get(e)},eb.prototype.has=function(e){return eE(this,e).has(e)},eb.prototype.set=function(e,t){var i=eE(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this},em.prototype.add=em.prototype.push=function(e){return this.__data__.set(e,a),this},em.prototype.has=function(e){return this.__data__.has(e)},ey.prototype.clear=function(){this.__data__=new eg,this.size=0},ey.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},ey.prototype.get=function(e){return this.__data__.get(e)},ey.prototype.has=function(e){return this.__data__.has(e)},ey.prototype.set=function(e,t){var i=this.__data__;if(i instanceof eg){var r=i.__data__;if(!ei||r.length<199)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new eb(r)}return i.set(e,t),this.size=i.size,this};var eM=Y?function(e){return null==e?[]:function(e,t){for(var i=-1,r=null==e?0:e.length,s=0,n=[];++i<r;){var a=e[i];t(a,i,e)&&(n[s++]=a)}return n}(Y(e=Object(e)),function(t){return W.call(e,t)})}:function(){return[]},ex=ew;function eA(e){if(null!=e){try{return U.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eO(e,t){return e===t||e!=e&&t!=t}(et&&ex(new et(new ArrayBuffer(1)))!=I||ei&&ex(new ei)!=f||er&&ex(er.resolve())!=b||es&&ex(new es)!=y||en&&ex(new en)!=w)&&(ex=function(e){var t=ew(e),i=t==g?e.constructor:void 0,r=i?eA(i):"";if(r)switch(r){case eo:return I;case ec:return f;case eh:return b;case ed:return y;case el:return w}return t});var eR=e_(function(){return arguments}())?e_:function(e){return ek(e)&&B.call(e,"callee")&&!W.call(e,"callee")},eN=Array.isArray,eq=X||function(){return!1};function eC(e){if(!ej(e))return!1;var t=ew(e);return t==u||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function eT(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function ej(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ek(e){return null!=e&&"object"==typeof e}var ez=T?function(e){return T(e)}:function(e){return ek(e)&&eT(e.length)&&!!P[ew(e)]};e.exports=function(e,t){return function e(t,i,r,s,n){return t===i||(null!=t&&null!=i&&(ek(t)||ek(i))?function(e,t,i,r,s,n){var a=eN(e),u=eN(t),b=a?c:ex(e),w=u?c:ex(t);b=b==o?g:b,w=w==o?g:w;var S=b==g,E=w==g,P=b==w;if(P&&eq(e)){if(!eq(t))return!1;a=!0,S=!1}if(P&&!S)return n||(n=new ey),a||ez(e)?eI(e,t,i,r,s,n):function(e,t,i,r,s,n,a){switch(i){case I:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case _:if(e.byteLength!=t.byteLength||!n(new G(e),new G(t)))break;return!0;case h:case d:case p:return eO(+e,+t);case l:return e.name==t.name&&e.message==t.message;case m:case v:return e==t+"";case f:var o=j;case y:var c=1&r;if(o||(o=k),e.size!=t.size&&!c)break;var u=a.get(e);if(u)return u==t;r|=2,a.set(e,t);var g=eI(o(e),o(t),r,s,n,a);return a.delete(e),g;case"[object Symbol]":if(ef)return ef.call(e)==ef.call(t)}return!1}(e,t,b,i,r,s,n);if(!(1&i)){var M=S&&B.call(e,"__wrapped__"),x=E&&B.call(t,"__wrapped__");
10if(M||x){var A=M?e.value():e,O=x?t.value():t;return n||(n=new ey),s(A,O,i,r,n)}}return!!P&&(n||(n=new ey),function(e,t,i,r,s,n){var a=1&i,o=eS(e),c=o.length;if(c!=eS(t).length&&!a)return!1;for(var h=c;h--;){var d=o[h];if(!(a?d in t:B.call(t,d)))return!1}var l=n.get(e);if(l&&n.get(t))return l==t;var u=!0;n.set(e,t),n.set(t,e);for(var f=a;++h<c;){var p=e[d=o[h]],g=t[d];if(r)var b=a?r(g,p,d,t,e,n):r(p,g,d,e,t,n);if(!(void 0===b?p===g||s(p,g,i,r,n):b)){u=!1;break}f||(f="constructor"==d)}if(u&&!f){var m=e.constructor,y=t.constructor;m!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y)&&(u=!1)}return n.delete(e),n.delete(t),u}(e,t,i,r,s,n))}(t,i,r,s,e,n):t!=t&&i!=i)}(e,t)}},25196:function(e){function t(e,t){if(!e)throw Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,i){if(e!=t)throw Error(i||"Assertion failed: "+e+" != "+t)}},51030:function(e,t){"use strict";function i(e){return 1===e.length?"0"+e:e}function r(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)i[r]=0|e[r];return i}if("hex"===t){(e=e.replace(/[^a-z0-9]+/ig,"")).length%2!=0&&(e="0"+e);for(var r=0;r<e.length;r+=2)i.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var s=e.charCodeAt(r),n=s>>8,a=255&s;n?i.push(n,a):i.push(a)}return i},t.zero2=i,t.toHex=r,t.encode=function(e,t){return"hex"===t?r(e):e}},79631:function(e,t,i){"use strict";let r=i(547);e.exports=n;let s=function(){function e(e){return void 0!==e&&e}try{if("undefined"!=typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function n(e){var t,i;(e=e||{}).browser=e.browser||{};let r=e.browser.transmit;if(r&&"function"!=typeof r.send)throw Error("pino: transmit option must have a send function");let d=e.browser.write||s;e.browser.write&&(e.browser.asObject=!0);let l=e.serializers||{},g=Array.isArray(t=e.browser.serialize)?t.filter(function(e){return"!stdSerializers.err"!==e}):!0===t&&Object.keys(l),b=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(b=!1),"function"==typeof d&&(d.error=d.fatal=d.warn=d.info=d.debug=d.trace=d),!1===e.enabled&&(e.level="silent");let m=e.level||"info",y=Object.create(d);y.log||(y.log=u),Object.defineProperty(y,"levelVal",{get:function(){return"silent"===this.level?1/0:this.levels.values[this.level]}}),Object.defineProperty(y,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,a(v,y,"error","log"),a(v,y,"fatal","error"),a(v,y,"warn","error"),a(v,y,"info","log"),a(v,y,"debug","log"),a(v,y,"trace","log")}});let v={transmit:r,serialize:g,asObject:e.browser.asObject,levels:["error","fatal","warn","info","debug","trace"],timestamp:"function"==typeof(i=e).timestamp?i.timestamp:!1===i.timestamp?f:p};return y.levels=n.levels,y.level=m,y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=u,y.serializers=l,y._serialize=g,y._stdErrSerialize=b,y.child=function(t,i){if(!t)throw Error("missing bindings for child Pino");i=i||{},g&&t.serializers&&(i.serializers=t.serializers);let s=i.serializers;if(g&&s){var n=Object.assign({},l,s),a=!0===e.browser.serialize?Object.keys(n):g;delete t.serializers,o([t],a,n,this._stdErrSerialize)}function d(e){this._childLevel=(0|e._childLevel)+1,this.error=c(e,t,"error"),this.fatal=c(e,t,"fatal"),this.warn=c(e,t,"warn"),this.info=c(e,t,"info"),this.debug=c(e,t,"debug"),this.trace=c(e,t,"trace"),n&&(this.serializers=n,this._serialize=a),r&&(this._logEvent=h([].concat(e._logEvent.bindings,t)))}return d.prototype=this,new d(this)},r&&(y._logEvent=h()),y}function a(e,t,i,a){let c=Object.getPrototypeOf(t);t[i]=t.levelVal>t.levels.values[i]?u:c[i]?c[i]:s[i]||s[a]||u,function(e,t,i){if(e.transmit||t[i]!==u){var a;t[i]=(a=t[i],function(){let c=e.timestamp(),d=Array(arguments.length),l=Object.getPrototypeOf&&Object.getPrototypeOf(this)===s?
10s:this;for(var u=0;u<d.length;u++)d[u]=arguments[u];if(e.serialize&&!e.asObject&&o(d,this._serialize,this.serializers,this._stdErrSerialize),e.asObject?a.call(l,function(e,t,i,s){e._serialize&&o(i,e._serialize,e.serializers,e._stdErrSerialize);let a=i.slice(),c=a[0],h={};s&&(h.time=s),h.level=n.levels.values[t];let d=(0|e._childLevel)+1;if(d<1&&(d=1),null!==c&&"object"==typeof c){for(;d--&&"object"==typeof a[0];)Object.assign(h,a.shift());c=a.length?r(a.shift(),a):void 0}else"string"==typeof c&&(c=r(a.shift(),a));return void 0!==c&&(h.msg=c),h}(this,i,d,c)):a.apply(l,d),e.transmit){let r=e.transmit.level||t.level,s=n.levels.values[r],a=n.levels.values[i];if(a<s)return;(function(e,t,i){let r=t.send,s=t.ts,n=t.methodLevel,a=t.methodValue,c=t.val,d=e._logEvent.bindings;o(i,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=s,e._logEvent.messages=i.filter(function(e){return -1===d.indexOf(e)}),e._logEvent.level.label=n,e._logEvent.level.value=a,r(n,e._logEvent,c),e._logEvent=h(d)})(this,{ts:c,methodLevel:i,methodValue:a,transmitLevel:r,transmitValue:n.levels.values[e.transmit.level||t.level],send:e.transmit.send,val:t.levelVal},d)}})}}(e,t,i)}function o(e,t,i,r){for(let s in e)if(r&&e[s]instanceof Error)e[s]=n.stdSerializers.err(e[s]);else if("object"==typeof e[s]&&!Array.isArray(e[s]))for(let r in e[s])t&&t.indexOf(r)>-1&&r in i&&(e[s][r]=i[r](e[s][r]))}function c(e,t,i){return function(){let r=Array(1+arguments.length);r[0]=t;for(var s=1;s<r.length;s++)r[s]=arguments[s-1];return e[i].apply(this,r)}}function h(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function d(){return{}}function l(e){return e}function u(){}function f(){return!1}function p(){return Date.now()}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers={mapHttpRequest:d,mapHttpResponse:d,wrapRequestSerializer:l,wrapResponseSerializer:l,wrapErrorSerializer:l,req:d,res:d,err:function(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let i in e)void 0===t[i]&&(t[i]=e[i]);return t}},n.stdTimeFunctions=Object.assign({},{nullTime:f,epochTime:p,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}})},39662:function(e){"use strict";e.exports={i8:"6.6.1"}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.